그리드에서 두 개의 열로 목록을 번갈아 렌더링하고 싶습니다. 내 구성 요소 상태에서 플래그 변수를 사용하여 이렇게 할 계획이고 CardDetail
을 반환 할 때마다 값을 변경합니다.네이티브 렌더링 구성 요소를 리플렉션 또는 상태를 사용하여
의도 한대로 작동하지 않는 것 같아서 this.changeState()
문을 주석 처리했습니다.
제 생각에는 도움이되지 않습니다. 본인은 React/React Native를 처음 사용합니다. 미리 감사드립니다.
renderAlbums() {
return this.state.albums.map(album =>{
this.rend2(album)
}
);
}
rend2(album){
if(this.state.flag === 0)
{
//this.changeState();
return (<CardDetail key={album.title} album={album} />);
}
else
{
//this.changeState;
return (<View />);
}
}
changeState(){
if(this.state.flag === 0)
{
this.setState({flag:1});
}
else
{
this.setState({flag:0})
}
}
render() {
console.log(this.state);
return (
<ScrollView>
<Grid>
<Col>{this.renderAlbums()}</Col>
<Col>{this.renderAlbums()}</Col>
</Grid>
</ScrollView>
);
}
}
괄호 사용/사용 안함으로 'changeState'가 실행됩니다. 어쩌면 이것이 문제일까요? 또한 모든 렌더링에서'changeState'를 호출하면 코드에 무한 루프가 발생합니다. – mersocarlin
나는 괄호없이'changeState'를 호출하고있었습니다. 그것을 바꿨습니다. 그러나 여전히 작동하지 않습니다. 시뮬레이터가 비어 있습니다. 무한 루프 문제를 해결하려면 무엇을 바꾸어야합니까? –
나는 당신이하고 싶은 것을 얻지 못합니다. 두 개의 목록이 있고'CardDetail'이 렌더링 될 때마다 어떻게 든 상태를 변경해야합니까? – mersocarlin