Lon*_*fPR 10 ecmascript-6 reactjs relayjs
我收到了这个错误,但我正在定义一个密钥.这是我App.js
的抱怨.
import React from 'react';
import Relay from 'react-relay';
import AccountTable from './AccountTable';
class App extends React.Component {
render() {
return (
<div>
<h1>Account list</h1>
{this.props.viewer.accounts.edges.map(edge =>
<AccountTable key={edge.node.id} account={edge.node} />
)}
</div>
);
}
}
export default Relay.createContainer(App, {
fragments: {
viewer: () => Relay.QL`
fragment on User {
accounts(first: 10) {
edges {
node {
${AccountTable.getFragment('account')}
}
}
}
}
`,
},
});
Run Code Online (Sandbox Code Playgroud)
Dav*_*yon 10
解决此问题的最简单方法是将键基于映射的索引:
{this.props.viewer.accounts.edges.map((edge, i) =>
<AccountTable key={i} account={edge.node} />
)}
Run Code Online (Sandbox Code Playgroud)
然后,您不必担心价值的独特性edge.node.id
.该key
只需要在所有的环境中唯一的AccountTable
兄弟姐妹.它不需要是全球唯一的.所以,该指数运作良好.
但是,如果你有一个基于对象的稳定id,那显然更好.
归档时间: |
|
查看次数: |
10836 次 |
最近记录: |