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