- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这样做会产生什么影响?
class Foo extends React.Component {
componentWillUpdate(nextProps, nextState) {
nextState.bar = transformSomehow(nextState.foo);
}
}
我的直觉告诉我这是错误的,但我没有找到任何文档说明 nextProps
和 nextState
应该是只读的,我也没有找到任何内容说这样就可以了。
这里的想法是我想要某种来自状态的数据的清理/转换/修改版本。可能有很多其他(更好)的方法可以做到这一点,但这也是一个可行的选择吗?
最佳答案
我想说这不是一个理想的方法,因为你正在尝试改变状态。您不应从 componentWillUpdate
中调用 setState
,此时也不应尝试更新状态对象。此阶段更多用于动画、DOM 操作等。
如果你想基于 nextState 设置一些其他变量,那就去做吧。如果您想使用状态的临时副本来完成某件事,那很好。但我认为尝试在此方法中改变状态与此生命周期方法的预期用途背道而驰。来自 componentWillUpdate
的文档:
Note that you cannot call this.setState() here. If you need to update state in response to a prop change, use componentWillReceiveProps() instead.
关于reactjs - componentWillUpdate——修改 nextProps 或 nextState 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43641493/
我认为当调用 componentWillUpdate 时,我可以读取最新状态,即来自 this.state 的状态。然而,当我仔细检查文档后,我意识到我错了。事实上,即使在 this.state 之后
有人可以解释一下在下一个上下文中到底发生了什么吗: 假设我有一个应用程序组件(父组件),还有一些子组件,例如索引、搜索、关于,这三个组件有它们的子组件。 当我在应用程序组件中调用 componentW
我是 React 新手,我遇到了这个 doc 。它说: Either way, it is unsafe to use componentWillUpdate for this purpose in
这个问题已经有答案了: Why does componentDidUpdate() create an infinite loop? (1 个回答) 已关闭 3 年前。 我有一个带有 HTML 元素的
在 React 中,如果子组件更新,无论是 props 还是 states,父组件的 componentWillUpdate 会被调用吗? 最佳答案 由于组件从其父组件获取其 props,因此如果其
我是 ReactJS 的新手,开始学习组件生命周期。现在我对 componentWillUpdate 和 componetDidUpdate 有疑问。我知道一旦您从 shouldComponentUp
我知道这不是惯用的 React,但我正在开发一个 React 组件(反向 ScrollView ),它需要在渲染之前和渲染之后得到下游虚拟 DOM 更改的通知。 这有点难以解释,所以我制作了一个起点为
设置当我的组件安装时,我的状态中有一个空的相册数组正在 react 。 我在做什么 在输入框中的每个输入中,我都会进行 API 调用,该调用返回专辑列表,并根据输入进行更改。我想将专辑添加到数组中而不
如何在组件更新后删除类?例如, //fire update where fieldname is array of changed fields componentWillUpdate(){ $
React 16.3.0 发布,React 生命周期发生了变化。 React 不推荐使用componentWillMount、componentWillReceiveProps、componentWi
我有一个疑问,当我们使用React组件方法时,是否存在具有相同行为的方法,并且它们在组件生命周期中被一一调用?那么主要区别是什么, shouldComponentUpdate(nextProps, n
这样做会产生什么影响? class Foo extends React.Component { componentWillUpdate(nextProps, nextState) {
我试图找出作为 Prop 传入的 React 组件中背景图像的方向。 我首先创建一个图像对象并将其 src 设置为新图像: getImage() { const src = this.pr
当我在 componentWillUpdate 中 setState 时,componentWillUpdate 在无限循环中运行,并且不会停止触发。 这永远不会让我的渲染有机会反射(reflect)
我正在创建一个简单的Todo应用程序,我正在使用componentDidMount来显示数据库中的数据。但问题是,一旦我添加新数据,数据就会被存储,但除非刷新,否则它不会显示在页面上。 然后我遇到了c
所以,假设我有 2 个 React 组件,如下所示: var Parent = React.createClass({ getInitialState: function(){ re
我们可以在每个组件生命周期方法中调用 setState()。 为什么我们不在 componentWillUpdate() 和 componentWillMount() 中调用它? 为什么这些方法在将
我正在制作这个 Conway 的生命游戏 React 项目,它工作得很好,但是当我添加最后几个按钮来清除棋盘时,React 的一些其他功能给了我这个错误 Maximum update depth ex
我正在使用 Jest 0.4.0。我有一个组件包含在其中(来自react-router文档): var stubRouterContext = (Component, props, stubs) =>
我是一名优秀的程序员,十分优秀!