在 useEffect 刷新页面中反应设置状态

时间:2021-07-23 09:54:57

标签: reactjs react-hooks use-effect

我的应用程序有一个奇怪的错误,我认为这与 asnyc 有关 - 如果我通过单击元素导航到新页面,我的页面数据会正确呈现。

但是,如果我刷新所述页面,我会收到未定义数据的错误 - 我认为这与 react 没有足够的时间来呈现状态更改有关?

有没有办法解决这个问题——也许我试图在 useEffect 中错误地设置我的状态,但是我想更新“componentDidMount”?

这是我的 useEffect 代码

useEffect(() => {
    setCurrentData(getLibraryFromId(currentID, data));

});

用法:

<img src={`https://image.tmdb.org/t/p/original/${currentData.backdrop_path}`} alt='' />

1 个答案:

答案 0 :(得分:1)

您正在从 API 获取数据,因此在此之前您需要添加检查对象是否为空白或如果为空白则不渲染或显示占位符图像。

      {currentData && currentData.backdrop_path && (
        <img
          src={`https://image.tmdb.org/t/p/original/${currentData.backdrop_path}`}
          alt=""
        />
      )}