복잡한 시나리오를 가지고 있는데 어떻게 처리해야하는지 혼란 스럽습니다. 다음과 같이 내가 배열을 가지고 :두 개의 내부 루프가있을 때이 속성을 부모 속성으로 가져올 수 없습니다.
stories=[
{
"categ": "politics",
"arr": [{
"t": 1
}, {
"t": 2
}, {
"t": 3
}]
},
{
"categ": "Business",
"arr": [{
"t": 1
}, {
"t": 2
}, {
"t": 3
}]
}
]
이 배열 안에 또 다른 배열을 가지고 실행되는 내용에 따라 내가 처음 배열을 통해 반복 할 필요가보고 첫 번째 배열 내부의 적절한 배열을 찾을 수있다. 예를 들어 비즈니스 카테고리와 관련된 배열을 가져 오려면 첫 번째 배열을 반복하고 비즈니스와 관련된 배열을 선택해야합니다. 이렇게하려면 다음 코드를 :
<div className="row">
{
this.props.stories.map((item,i)=> <Story key={i} position={i} story={item} ></Story>)
}
</div>
그래서 당신은지도 내가 처음 배열을 통해 반복 할 수 있음을 알 수있다. 이제는
this.props.categ
을 사용하여 내가 원하는 범주에 액세스 할 수 있다고 생각합니다. 그래서 아래와 같이 STH하려면 코드를 변경해야 :
<div className="row" >
{
this.props.stories.map(function(snippet){
if(snippet.categ==="politics"){
return(
snippet.arr.map((item,i)=> <Story key={i} position={i} story={item} ></Story>)
);
}
})
}
</div>
그러나 위의 코드 "정치"에
가 하드 코딩되어 this.props.categ로 교체해야합니다. 그러나 곧 나는 내가 ES6 지방 화살표를 사용하지 않는이 때문에 부모를 잃어버린하고 있기 때문에 완전히 의미가Uncaught TypeError: Cannot read property 'props' of undefined
을 말하는 오류가 있음을 대체한다. 어떻게이 일을 할 수 있습니까?
'이 유효하지 않은 구문입니다 follows' 당신이 나는 것 죄송합니다 아무것도 –
이 없다, 그래서 나는 배열이 내 arry 수정 –
@JaromandaX 내 실제 프로젝트에서 나는 올바른 배열을 사용하고 있지만 위와 같은 배열을 예제로 넣어 둡니다. –