返回

javascript—如何将useEffect与useContext一起正确使用并避免SSR带来的问题

发布时间:2022-05-25 19:57:02 403
# 前端

我正在使用 Remix,并且在使用useEffectwith时遇到了问题,useContext因为在服务器上渲染时不支持上下文。例如,在下面的代码段中,我想导航 ifappContext.issues为 null 并解析文件。只是有大量额外的重复逻辑。我想在 之前获得早期回报useEffect,但这是不允许的。有任何想法吗?

export default function Results() {
  const navigate = useNavigate();
  const { index } = useParams();
  const appContext = React.useContext(AppContext);

  React.useEffect(() => {
    if (appContext?.issues !== undefined && appContext?.issues === null) {
      navigate("/app");
    }
  }, [appContext?.issues, navigate]);

  React.useEffect(() => {
      (async () => {
        if (appContext?.files !== undefined && appContext?.files !== null && index !== undefined) {
          const fileData = await parse(appContext?.files[parseInt(index)]);
          appContext?.setFileData(fileData)
        }
    })()
  }, [appContext?.files, appContext?.setFileData, index]);

  if (appContext == null) {
    return null;
  }

  if (index === undefined) {
    return null;
  }
}
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
下一篇
pdf-python中的阿拉伯字母 2022-05-25 17:38:25