当前位置: 首页 > 面试题库 >

动态设置组件的道具

轩辕实
2023-03-14
问题内容

将组件存储在变量中后,需要设置组件的道具,这是伪代码:

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我运行一个循环,需要为存储在变量内的组件设置道具…。如何为之前存储在变量中的该组件设置道具?


问题答案:

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

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


 类似资料:
  • 问题内容: 我有以下基于渲染下拉列表呈现用户的类。如果我选择“字母”,则将按字母顺序列出用户;当我选择“组”时,将按组顺序列出用户。 在组件中,我正在通过props.members中的函数设置组件状态对象。 当我选择“组”排序时,组件正在卸载并且正在DOM中安装。同样,当我切换回“字母”排序时,在组件中预先设置的状态变量(成员)将变为NULL,因为该组件已从DOM中删除。 重新渲染b’coz时道具

  • 我是反应的新手,尝试将一个值从父组件传递给子组件到props并将值存储在状态中。但它甚至不调用console.log语句 这是我的函数通过单击按钮来更改字符串 在父组件中,在渲染中我有这个: 子组件 从“React”导入React;将*作为样式从“”导入/编辑单元css’; 我的目标是,根据通过单击按钮更改的状态,显示div或不显示div。

  • 我已经用ReactJS和ES6进行了几天的实验,并创建了两个组件,即

  • 以下是: code>button.jsx的来源并不重要,它有一个常规的HTML单选按钮,触发本机DOM事件 预期流量为: null 尝试:在的onChange处理程序中: 问题: 尝试:在的onChange处理程序中:

  • 问题内容: 我使用下面的代码在React组件上设置默认道具,但是它不起作用。在该方法中,我可以看到输出“ undefined props”已打印在浏览器控制台上。如何为组件道具定义默认值? 问题答案: 您忘记合上支架了。