javascript - 是否可以在 React 组件实例化后添加 key 属性?

标签 javascript reactjs

这个例子是人为设计的,但它得到了我需要做的事情。

假设我有一个这样的现有组件:

var c1 = React.DOM.p( {} );

然后我需要在数组的上下文中使用这个组件,如下所示:

var container = React.DOM.div( {}, [ c1, c2 ] );

这将创建一个包含 c1c2 子组件的 div,但是 React 提示传递给 div 的数组中的项目缺少 key 属性功能。

在将它传递给容器之前,是否可以先向已经存在的 c1 组件添加一个键?我确实意识到它可以在首次创建 c1 时设置,但我需要在之后进行设置。

我正在查看 React 方法和插件,但没有看到任何解决这种情况的方法。

最佳答案

啊哈,在重新阅读 documentation here 之后,我注意到这一行:

You can also key children by passing an object. The object keys will be used as key for each value.

所以,与其传递上面的数组,我还可以做这样的事情:

var p = React.DOM.p( {} ),
    contentObject = {
        component1: p,
        component2: somethingElse
    },
    container = React.DOM.div( {}, contentObject );

React 会将对象参数解释为这些组件的键。

关于javascript - 是否可以在 React 组件实例化后添加 key 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26552105/

相关文章:

javascript - 犀牛的控制台输入功能?

javascript - Cypress 无法识别我从/cypress 目录外部导入的模块

javascript - 在 dropzonejs 中预加载图像后,图像预览(缩略图)不显示

javascript - 如何通过 jQuery 添加/更新 href 属性的参数?

带有 Dynamics CRM 2011 的 Javascript 智能感知

javascript - 如何在单个组件上制作悬停事件?

javascript - 如何测试 useState 和 useEffect react Hook

javascript - React Router V4 - 参数失败的路由

javascript - 在功能组件内执行异步操作

javascript - React useEffect 附加脚本未触发