繁体   English   中英

useEffect 清理中的执行顺序

[英]order of execution in useEffect clean up

  useEffect(() => {
    return history.replace({
      pathname: "path/A",
    });
  }, []);

  useEffect(() => {
    return history.replace({
      pathname: "path/B",
    });
  }, []);

卸载组件后,URL 将是什么? 是什么决定了上述 2 useEffect的执行顺序?

由于您不通过任何部门的deps 这两个useEffect都只会在组件安装时呈现。 因此,结果是(并且永远是) "path/B"

如果您希望它在组件卸载时更改,您需要将return function 添加到其中之一。

useEffect(() => {
    history.replace({ pathname: "path/B" });
    return () => history.replace({ pathname: "path/B" });
}, []);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM