私はそのエラーを受けていますが、私はキーを定義しています。ここに私のApp.js
があります。React警告:配列またはイテレータ内の各子には、一意の「キー」小文字が必要です。 `App`のレンダリングメソッドを確認してください
{this.props.viewer.accounts.edges.map((edge, i) =>
<AccountTable key={i} account={edge.node} />
)}
はその後、あなたがedge.node.id
の値がどのようにユニークな心配する必要はありません。
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')}
}
}
}
}
`,
},
});
bob rossはあなたのコード山を誇りに思うでしょう。しかし、本当にあなたはあなたのedge.node.idの一意性をチェックするべきです。 – aaaaaa
私が推測する通常の健全性チェックを行います。上記のコードはエラーの100%ソースですか?実際に固有のIDですか?おそらくあなたはいくつかの未定義/ヌルを持っています – azium
IDが重複しているかどうかを確認してください: 'console.log(this.props.viewer.accounts.edges.map(edge => edge.node.id))' – sdgluck