动态生成的react引导程序组件缺少密钥属性
Missing key property with dynamically generated react-bootstrap components
我遇到了一些可疑行为,我不确定错误是在我这边,还是这是一个反应引导程序错误。
当我动态创建导航时,我会收到以下错误
main.js:2331 Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of `Header`. See ... for more information
如果我正确定义了key
,这个错误就会消失,但AFAIK不应该需要,因为eventKey
应该负责这个
代码示例:
render() {
let routes =[
{
name : 'Dashboard',
path : '/',
},
{
name : 'Navigation Manager Tool',
path : '/tools/navigation-manager',
}
];
return (
<Navbar inverse className="widget-header">
<Navbar.Header>
<Nav activeKey={this.props.active.path}>
{
routes.map((route) => {
return (
<NavItem eventKey={route.path} href={route.path}>{route.name}</NavItem>
);
})
}
</Nav>
</Navbar.Header>
</Navbar>
);
}
注意,以下工作没有任何问题
render() {
return (
<Navbar inverse className="widget-header">
<Navbar.Header>
<Nav activeKey={this.props.active.path}>
<NavItem eventKey="/" href="/">Dashboard</NavItem>
<NavItem eventKey="/tools/navigation-manager" href="/tools/navigation-manager">Navigation Manager Tool</NavItem>
</Nav>
</Navbar.Header>
</Navbar>
);
}
key
和eventKey
是不同的属性。他们没有任何共同点。
如果创建组件阵列,则应始终提供key
。
关于密钥的React文档。
相关文章:
- API密钥使用和检查示例
- react.js中的密钥绑定
- JS对象密钥序列
- 似乎无法使用javascript从AWS 3S中删除密钥
- 加载两个具有相同父密钥名称的json文件
- 如何获取$data.Entity的密钥
- Angular ngRepeat:重复错误(尽管没有重复的密钥)
- CryptoJS和密钥/IV长度
- 基于api密钥的NodeJS web服务
- 输入密钥和firefox提示
- React Rails应用程序中动态子项的密钥分配问题
- 正在Javascript Cookie中设置重复密钥
- 通过localStorage中的密钥获取ID
- 从密钥中获取价值.JavaScript
- Javascript对象中的跨浏览器密钥查找性能
- D3动态json密钥名称
- OAuth 2.0 OpenID连接环回和密钥斗篷
- 动态生成的react引导程序组件缺少密钥属性
- 如何根据密钥名称的一部分对javascript对象属性进行分组
- 恢复属性密钥/值