.map 后更新状态

时间:2021-02-08 19:25:17

标签: javascript reactjs state

我有一个类组件,在其中 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,
      }

0 个答案:

没有答案
相关问题