- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人可以解释一下在下一个上下文中到底发生了什么吗:
假设我有一个应用程序组件(父组件),还有一些子组件,例如索引、搜索、关于,这三个组件有它们的子组件。
当我在应用程序组件中调用 componentWillUpdate 时会发生什么,新的状态/ Prop 将会出现,但是叶子(子元素)内部会发生什么,它们会重新渲染自己吗?
假设我在 App 中的这个 componentWillUpdate 中覆盖了 DOM 中的某些内容,并且我将在 componentDidMount 或 componentWillMount 中的叶组件中的 DOM 中覆盖相同的内容...哪个值将是最后一个?
最佳答案
首先,您不应该手动调用componentWillUpdate
。如果作为其生命周期的一部分,它会被 React 调用。
根据comment in ReactCompositeComponent.js这是更新阶段发生的情况:
Update Phases:
- componentWillReceiveProps (only called if parent updated)
- shouldComponentUpdate
- componentWillUpdate
- render
- [children's constructors or receive props phases]
- componentDidUpdate
如您所见,App.render
在渲染子组件之前被调用。
如果您出于某种原因想要手动操作 DOM,componentWillUpdate
不是执行此操作的正确位置。每次更新后使用 componentDidUpdate
或在初始渲染后使用 componentDidMount
。子级的 componentDidUpdate
和 componentDidMount
在父级的生命周期方法之前触发。
关于reactjs - react : componentWillUpdate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34811003/
我认为当调用 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) =>
我是一名优秀的程序员,十分优秀!