簡體   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