【译】你可能不需要派生状态
React 16.4包含了getDerivedStateFromProps的bug,这个 bug 会在 React components 复现一些已知的 bug。如果这个版本导致出现的问题,导致您在修复过之后还已知出现的话,我们非常抱歉。在这篇文章中,我们将解释一些常见的反模式与派生状态和我们的首选替代方案。
很长一段时间,生命周期componentWillReceiveProps是更新状态以响应props改变没有额外渲染的的唯一方法。在版本16.3中,我们引入了替换生命周期,getDerivedStateFromProps
以更安全的方式解决相同的情况。与此同时,我们意识到人们对如何使用这两种方法存在许多误解,并且我们发现反模式会导致细微而混乱的错误。getDerivedStateFromProps在16.4中的错误修正使得派生状态更具可预测性,因此滥用它的结果更容易被注意到