React中带有es6类的关键道具
Key prop with es6 classes in React
我正在React上运行一个关于pluralsight的教程(课程是不久前制作的),所以有些东西有点过时了,比如Babel。然而,我遇到了一些我不确定的事情。我在浏览器控制台中收到以下消息:
警告:数组或迭代器中的每个子级都应该有一个唯一的"key"道具。检查App
的渲染方法
提前谢谢。
下面是我的应用程序组件:
import React from 'react';
class App extends React.Component {
constructor() {
super();
this.state = {
messages: [
'hi there, how are you?',
'I am fine, and you?'
]
};
}
render() {
var messageNodes = this.state.messages.map(message => {
return (
<div>{message}</div>
);
});
return (
<div>{messageNodes}</div>
);
}
}
export default App;
每个可重复项都需要(从提高性能的意义上来说需要)某种唯一的标识符。
在下面的情况下,您只需添加一个数组的索引作为关键字,但随着应用程序变得越来越大,您可能需要为这些消息提供某种id(可能来自数据库或类似的信息)。
import React from 'react';
class App extends React.Component {
constructor() {
super();
this.state = {
messages: [
'hi there, how are you?',
'I am fine, and you?'
]
};
}
render() {
var messageNodes = this.state.messages.map(message, index => {
return (
<div key={index}>{message}</div>
);
});
return (
<div>{messageNodes}</div>
);
}
}
export default App;
一个更大的例子可能是:
messages: [
{ id: 234, text: "Hi there, how are you?" },
]
相关文章:
- 如何使用KARMA对React JSX ES6代码进行单元测试
- {React jsx babel es6 webpack}如何在渲染中进行注释(return(//||/**/))
- 配置 karma.js 以使用 react 和 ES6
- React ES6 导入无状态组件
- ES6/React第二项绑定失败
- React如何调用ES6类的呈现函数,使“this”不引用类本身
- React中带有es6类的关键道具
- 为什么在ES6-react类中需要绑定
- 我将如何实现不使用 es6 的 react-wavesurfer 实例
- 何时使用基于 ES6 类的 React 组件与功能性 ES6 React 组件
- 单元测试 React JSX ES6.
- 如何从 React 原生 JavaScript 语法切换到 ES6
- 当函数绑定在构造函数中时,如何在 ES6 React 中向事件处理程序添加参数
- 定义 ES6 React 组件的两种方法
- 由 webpack 构建的 react(es6) 在浏览器中有一个未捕获的类型错误
- 如何处理 React 嵌套组件循环依赖?(使用 es6 类)
- ES6+React组件实例方法
- 在ES6 React Javascript中导入ReactCSSTransitionGroup
- 在ES6 React组件中使用puerendermixin
- 在这个类继承中使用了什么ES6/React魔术