Reactjs 我可以用“a”吗;“使用效果”;只有一定的价值?
您好,我正在尝试使用react钩子的UseEffect,我知道我可以添加变量,在更改时可以激活它,但我想知道是否有方法仅在值满足某些条件时激活UseEffect 我已经在useEffect中创建了一个条件,我知道它是有效的,但我想知道是否有其他方法可以做到这一点Reactjs 我可以用“a”吗;“使用效果”;只有一定的价值?,reactjs,react-hooks,Reactjs,React Hooks,您好,我正在尝试使用react钩子的UseEffect,我知道我可以添加变量,在更改时可以激活它,但我想知道是否有方法仅在值满足某些条件时激活UseEffect 我已经在useEffect中创建了一个条件,我知道它是有效的,但我想知道是否有其他方法可以做到这一点 useEffect(() => { doSomething(); if(!isOpen) doSomething2(); }, [isOpen, otherThing]); 在上面的示例中,我希望doSometh
useEffect(() => {
doSomething();
if(!isOpen)
doSomething2();
}, [isOpen, otherThing]);
在上面的示例中,我希望doSomething2仅在其值为false时工作
本例中的isOpen有一个默认值false,当它从数据库中检索某个内容时,它将变为true,最后当它完成提取时,它将返回false
我希望钩子只在值从true切换到false时激活,而不是在每次更改中激活
有办法吗?没有别的办法。您的尝试已经正确。这是唯一的办法。干杯
useffect()
只允许依赖项,不允许条件属性 您可以有多个可以这样更改的数据
const[selectedCategory,setSelectedCategory]=React.useState(null);
const[restaurants,setRestaurants]=React.useState({});
如果要获取特定属性的事件,如餐厅
然后您可以使用一种useffect
方法来实现这一点。对于另一种方法,您可以使用另一种useffect
方法,如下所示
const [selectedCategory, setSelectedCategory] = React.useState(null);
const [restaurants, setRestaurants] = React.useState(restaurantData);
useEffect(() => {
console.log("this is for selectedCategory")
}, [selectedCategory]);
useEffect(() => {
console.log("this is for restaurants")
}, [restaurants]);
谢谢