我偶尔会有一些react组件,这些组件在概念上是有状态的,需要重置。理想的行为将等同于删除旧组件并读取新的原始组件。
React提供了一种方法setState
,该方法允许将组件设置为自己的显式状态,但不包括隐式状态(例如浏览器焦点和表单状态),并且还排除其子级状态。捕获所有这些间接状态可能是一项艰巨的任务,我宁愿严格而彻底地解决它,而不是在每一个令人惊讶的新状态下打个-子。
是否有API或模式可以做到这一点?
编辑: 我做了一个简单的例子证明了this.replaceState(this.getInitialState())
方法并与对比它this.setState(this.getInitialState())
的方法:的jsfiddle - replaceState
更强劲。
在
key
您需要重新初始化的元素上添加一个属性,将在每次元素更改props
或state
与元素更改关联时重新加载该属性。这是一个例子: