如何根据反应功能组件中的先前状态有条件地更新状态?

钱德里卡

所以,我想做以下事情,

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);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据React功能组件中的状态变量有条件地设置className

如何在useEffect中更新状态的条件组件中有条件地渲染?

反应:无法有条件地更新状态

如何在无状态组件中有条件地更新状态?

如何根据路由中的变量有条件地路由到反应中的组件?

如何有条件地仅根据Vue列表中的状态显示项目

如何根据状态有条件地传递道具中的值

redux-saga根据UI组件状态有条件地订阅工作程序

在父类传递的事件处理程序中有条件地更新子组件的状态

我如何有条件地计算本地反应的状态之一?

如何有条件地渲染原因反应组件?

根据ReactJS中的变量有条件地设置复选框状态

根据使用中的prevState有条件地设置状态效果导致指数重新渲染

如何有条件地更新反应列表组件

如何有条件地呈现状态属性

如何使EditorFor有条件地变为只读状态?

如何有条件地使用状态?

根据功能组件中的数据有条件地渲染元素

如何根据路由有条件地显示组件

如何根据反应选择中的选定值有条件地呈现数据

如何根据特定页面有条件地在Gatsby中渲染组件?

如何根据 defaultprops 数组中的值有条件地呈现组件?

在React中,我需要从本地存储中获取状态,然后根据该状态有条件地设置另一个状态

根据状态有条件地设置Angular的ng-class

有条件地反应测试库渲染组件

创建反应组件以有条件地包装孩子

有条件地渲染反应组件

根据ng-repeat中的先前值有条件地显示值-angularjs

如何有条件地将一组道具添加到反应组件中?