为什么子项与React.children.toArray一起使用时键会发生变化
Why do keys change when children are used with React.Children.toArray?
如果我有一个带子级的react组件,并且我在这些子级上调用React.Children.toArray
,为什么数组中的对象具有以.$
为前缀的键
var Child = React.createClass({
render: function() {
console.log(React.Children.toArray(this.props.children)[0].key);
return <div>{this.props.children}</div>
}
});
var Container = React.createClass({
render: function() {
return <Child><div key={1}>1</div></Child>
}
});
ReactDOM.render(<Container />, document.getElementById('container'));
这会将.$1
记录到控制台。为什么密钥从1
更改为.$1
?
请参阅下面的注释https://facebook.github.io/react/docs/top-level-api.html#react.children.toarray
注:React.Children.toArray()更改键以在展开子级列表时保留嵌套数组的语义。也就是说,toArray在返回的数组中为每个键加前缀,这样每个元素的键的作用域都是包含它的输入数组
相关文章:
- 转义符不能与innerHTML一起使用
- 单击页面上的链接后高度发生变化
- 高亮显示与数组字符串一起使用时文本插件中断
- setTimeout可以与闭包内的函数一起使用吗
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- Highcharts colorsByPoint与系列中的线性渐变一起使用时不起作用
- React redux初始化功能,无论状态变化如何
- 角度ng变化或ng点击选择can'不起作用
- 如何将js库与typescript一起使用
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- 将webpack和babel与父项目目录中的文件一起使用
- JS幻灯片与CSS背景颜色变化
- 将 Drag&Drop 与 jsTree 和 DataTables 一起使用
- Javascript-如何让脚本与Ajax请求的数据一起运行
- 将两个ext.TabPanels滚动到一起
- 将jQuery UI Timepicker Addon与React一起使用
- 什么是curl以及如何将其与nodejs一起使用
- 使微小的滚动条与不断变化的动画内容一起工作
- 如何使jquery函数与动态变化的元素一起工作
- 为什么子项与React.children.toArray一起使用时键会发生变化