[英]How to use a function in React useEffect
I want below code to be in React useEffect
because every time things get changed I want the component to get rerender.我希望下面的代码在
React useEffect
中,因为每次事情发生变化时,我都希望组件重新渲染。 But react does not allow useEffect
in a function.但是 react 不允许在
useEffect
中使用 useEffect。
The below code is being toggled on click.下面的代码在点击时被切换。 Everything is working fine but the component does not reload so you need to switch between other components so that it gets updated.
一切正常,但组件没有重新加载,因此您需要在其他组件之间切换,以便更新。
const toggleFavorite = () => {
if (docdata !== "") {
db.collection("infodata")
.doc(docdata)
.set({
favorite: !favoritePassword
}, {
merge: true
});
setFavoritePassword(!favoritePassword);
}
};
<div onClick={toggleFavorite}>
<FontAwesomeIcon icon={faStar} />
</div>
I have tried these: React useEffect in function React Async Function wrapped in a UseEffect我已经尝试过这些: React useEffect in function React Async Function 包裹在 UseEffect
But these do not seem to work.但这些似乎不起作用。
Any help will be appreciated,任何帮助将不胜感激,
Thank you.谢谢你。
you could do something like this:你可以这样做:
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.