我有一个类组件,在其中 render() 函数中有一个变量,我在其中映射我的状态以从中创建照片,并且在运行此映射时,我想用一些照片 ID 填充我的 photoIdsArray - 这绝对没问题。
if(this.state.data)
{
photos = (
<section className="photoGrid">
{this.state.data.data.results.map((photo,index) => (
<div className="photo" key={photo.id}><img src={photo.urls.regular} alt={photo.alt_description}/>
<ul className="photoTag">
{photoIdsArray[index]=photo.id}
{photo.tags.map((littleTag,index) => ( ...small mapping to create li's))}
</ul>
</div>
))}
</section>);
}
问题是,当我稍后尝试将该 photoIdsArray 放入我的状态时,我的应用程序崩溃并显示“超出最大更新深度”,而我完全不知道如何使其正常工作。
我试过使用
this.setState({photoIds:array});
在那次映射之后,创建了一个函数,但我一无所知。
我应该如何正确更新?
这就是我的状态:
state = {
data:null,
photoIds:null,
}