javascript - react 中是否有状态突变观察者?

标签 javascript reactjs

tl;dr -- 我想在组件状态发生变化时触发回调


我有一个组件可以改变 this.props.items 并在每次改变时触发 this.props.onChange。我目前正在做这样的事情:

removeItem(ix) {
  const items = this.state.items.slice();
  items.splice(ix, 1);
  this.setState({ items });
  this.triggerOnChange();
}

我想知道是否可以删除对 triggerOnChange 的手动调用,而是在 this.state.items 更新时执行此操作

最佳答案

this.setState 接受两个参数,第一个是对象(状态),第二个是回调(可选)

this.setState({...}, function(){
  console.log('changed')
})

来自 Spec

The second parameter is an optional callback function that will be executed once setState is completed and the component is re-rendered

关于javascript - react 中是否有状态突变观察者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40848482/

相关文章:

javascript - 单击加载更多 json 数据

javascript - 在 NPObject 上调用方法时出错!

javascript - 对 jqGrid 单元格数据使用键/值对

javascript - 创建新事件时更新react-big-calendar组件

javascript - 我的 setState 函数在 IOS 上不起作用

android - 使用 Android Observer/Livedata/Coroutine/Kotlin 实现 Redux

reactjs - 在 react material-ui 菜单中测试嵌套菜单项

PHP/JavaScript 表单验证?

javascript - 如何使用 react 编辑元素宽度

javascript - 为什么 onchange 函数不能与语义类一起使用