reactjs - 动态设置组件的 props

标签 reactjs jsx

我需要在将组件的 props 存储在变量中后设置它,这里是伪代码:

render(){

    let items = [{title:'hello'}, {title:'world'}];
    let component = false;

    switch (id) {
      case 1:
        component = <A />
        break;
      case 2:
        component = <B />
        break;      
    }

    return(
      items.map((item, index)=>{
        return(
          <span>
            {/* SOMETHING LIKE THIS WOULD BE COOL - IS THAT EVEN POSSIBLE*/}
            {component.props.set('title', item.title)}
          </span>11

        )
      })
    )
  }

return内部运行一个循环,我需要为存储在变量中的组件设置 Prop ......如何为我之前存储在变量中的组件设置 Prop ?

最佳答案

正确的方法是使用React的cloneElement方法( https://facebook.github.io/react/docs/react-api.html#cloneelement )。 您可以通过执行以下操作来实现您想要的目标:

<span>
  {
    React.cloneElement(
      component,
      {title: item.title}
    )
  }
</span>

关于reactjs - 动态设置组件的 props,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40192882/

相关文章:

javascript - 如何用 Jest 来模拟 FileReader?

javascript - 路线不匹配

reactjs - React.PropTypes.func.isRequired 的问题

javascript - 第一次调用函数来更改状态不会更新任何字段

node.js - res.cookie 无法在浏览器中保留 cookie

javascript - react 表在搜索排序上计算页面更改的页脚总和,我们如何实现这一点

reactjs - React.Component.defaultProps 对象被覆盖,而不是合并?

javascript - react : Fetching data from inputs using createRef

javascript - 将用户输入 onchange 传递给父组件的 React Javascript 问题

javascript - 如何为侧边栏中的每个部分制作不同的应用栏? [ReactJs]