我偶尔会有一些我想重置的概念上有状态的 React 组件。理想的行为相当于删除旧组件并读取新的原始组件。
React 提供了一种方法setState
,允许设置组件自己的显式状态,但不包括浏览器焦点和表单状态等隐式状态,并且也不包括其子项的状态。捕捉所有这些间接状态可能是一项棘手的任务,我更愿意严格而完整地解决它,而不是在每一个新的令人惊讶的状态下玩打地鼠。
是否有 API 或模式可以做到这一点?
编辑: 我做了一个简单的例子来演示该this.replaceState(this.getInitialState())
方法并将其与方法进行对比this.setState(this.getInitialState())
:jsfiddle -replaceState
更健壮。