[英]How to conditionally update state based on previous state in react functional component?
所以,我想做以下事情,
const [value, setValue] = useState({})
const updateName = (name)
setValue(previousState => {
if (/*check some conditions*/) {
// dont update the state
} else {
return { /* some new state */ }
}
});
无论如何我怎样才能实现它?
你快到了。
const [value, setValue] = useState({})
setValue((prevState) => {
if (condition to not update) {
return prevState;
} else {
return newState;
}
});
您不一定需要从setValue
调用中执行此操作。 你也可以这样做:
const updateSomething = () => {
if (shouldUpdate)
setValue(newState);
}
您可以尝试一些简单的事情,例如:
setValue(!value)
这只会改变 boolean state,从假值传递到真值,反之亦然。
我希望它能有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.