簡體   English   中英

如何在 React useEffect 中使用 function

[英]How to use a function in React useEffect

我希望下面的代碼在React useEffect中,因為每次事情發生變化時,我都希望組件重新渲染。 但是 react 不允許在useEffect中使用 useEffect。

下面的代碼在點擊時被切換。 一切正常,但組件沒有重新加載,因此您需要在其他組件之間切換,以便更新。

const toggleFavorite = () => {
  if (docdata !== "") {
    db.collection("infodata")
      .doc(docdata)
      .set({
        favorite: !favoritePassword
      }, {
        merge: true
      });

    setFavoritePassword(!favoritePassword);
  }
};
<div onClick={toggleFavorite}>
  <FontAwesomeIcon icon={faStar} />
</div>

我已經嘗試過這些: React useEffect in function React Async Function 包裹在 UseEffect

但這些似乎不起作用。

任何幫助將不勝感激,

謝謝你。

你可以這樣做:

const [toggle, setToggle] = useState(false);

const toggleFavorite = () => {
    if (docdata !== "") {
        db.collection("infodata")
            .doc(docdata)
            .set({
                favorite: !favoritePassword
            }, {
                merge: true
            });

        setFavoritePassword(!favoritePassword);
    }
};

useEffect(() => {
    toggleFavorite()
}, [toggle])

<div onClick={setToggle(!toggle)}>
    <FontAwesomeIcon icon={faStar} />
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM