반응이 매우 새로워서 해결할 수없는 문제가 있습니다.매핑 경고시 고유 키 반응
경고 : 고유의 "키" 소품을 가져야한다 배열이나 반복자의 각 자녀
import React from 'react'; import Header from './Header'; import ContestPreview from './ContestPreview'; class App extends React.Component { state = { pageHeader: 'Naming Contests', whatever: 'test' }; render() { return ( <div className="App"> <Header message={this.state.pageHeader} /> <div> {this.props.contests.map(contest => <ContestPreview key={contest.id} {...contest} /> )} </div> </div> ); } } export default App;
이 코드는 나에게 다음과 같은 경고를 제공합니다 : 여기 내 구성 요소를 반응이다.
App
의 렌더링 방법을 확인하십시오. 자세한 내용은 여기 - FB-URL-I-REMOVED를 참조하십시오. 앱
에서 (응용 프로그램에 의해 생성) ContestPreview 에 나는 완전히이 오류가 무엇을 의미하는지 이해합니다. 나는 물음표를 반복 할 때 배열의 각 요소가 고유 한 키를 가져야한다는 것을 알고 있습니다. 왜 내가 이해하지 못하는 이유는 내 opionion에서 열쇠가 내 <ContestPreview key={contest.id} {...contest} />
...로 정의되어야하기 때문에 오류가 발생했습니다 ... key={contest.id}
충분하지 않습니까? 내 opionion에서
{
"contests": [
{
"id": 1,
"categoryName": "Business/Company",
"contestName": "Cognitive Building Bricks"
},
{
"id": 2,
"categoryName": "Magazine/Newsletter",
"contestName": "Educating people about sustainable food production"
},
{
"id": 3,
"categoryName": "Software Component",
"contestName": "Big Data Analytics for Cash Circulation"
},
{
"id": 4,
"categoryName": "Website",
"contestName": "Free programming books"
}
]
}
그것이 작동해야 난 아직도이 오류가 왜 이해할 수 없다 :
여기 내 경연 데이터입니다. 나는 정말로 내 문제에 대한 도움을 얻고 싶다. 나는 그것이 실제로 어떻게 작동하는지 이해하려고하기 때문에 누군가가 나에게 설명 할 수 있다면 정말 멋질 것이다.
도움 주셔서 감사합니다. :) 여기에 코드
<div className="App">
<Header message={this.state.pageHeader} />
<div>
{this.props.contests.map(contest => {
console.log('contest id =', contest.id);
return (<ContestPreview key={contest.id} {...contest} />);
})}
</div>
</div>
이것은 당신이 당신의지도에 렌더링되는 각 구성 요소의 ID (키) 콘솔됩니다에서
당신은 대답 중 하나가 문제를 해결하는 데 도움이나요 시간 –
의 어느 시점에서 데이터에 대한 정의는 null지고 경우에 있는지 확인 할 수 있나요? –
@ spencer.sm 아니요,하지만 혼자서 해결했습니다. 나는 여전히 똑같은 전체 서버를 다시 시작했다. 그래서 나는 조금 화 났고, 1 시간 동안 나의 컴퓨터를 폐쇄하기로 결정했다. 다시 시작한 후 완벽하게 작동했습니다. 그게 뭔지 전혀 몰랐는데, 뭔가 제대로 발화되지 않았다고 생각해. – Twinfriends