Javascript 如何在React useEffect中使用函数
我希望下面的代码位于Javascript 如何在React useEffect中使用函数,javascript,html,reactjs,react-hooks,use-effect,Javascript,Html,Reactjs,React Hooks,Use Effect,我希望下面的代码位于React-useffect中,因为每次事情发生变化时,我都希望组件重新加载。但是react不允许函数中使用useffect 单击时将切换以下代码。一切正常,但组件不会重新加载,因此您需要在其他组件之间切换,以便对其进行更新 const toggleFavorite = () => { if (docdata !== "") { db.collection("infodata") .doc(docdata)
React-useffect
中,因为每次事情发生变化时,我都希望组件重新加载。但是react不允许函数中使用useffect
单击时将切换以下代码。一切正常,但组件不会重新加载,因此您需要在其他组件之间切换,以便对其进行更新
const toggleFavorite = () => {
if (docdata !== "") {
db.collection("infodata")
.doc(docdata)
.set({
favorite: !favoritePassword
}, {
merge: true
});
setFavoritePassword(!favoritePassword);
}
};
我试过这些: 但这些似乎不起作用 任何帮助都将不胜感激
谢谢。您可以这样做:
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>
const[toggle,setToggle]=useState(false);
const toggleFavorite=()=>{
如果(docdata!==“”){
数据库收集(“信息数据”)
.doc(docdata)
.设置({
收藏夹:!收藏夹密码
}, {
合并:对
});
setFavoritePassword(!favoritePassword);
}
};
useffect(()=>{
toggleFavorite()
},[切换])
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>