- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 ReactJS 的新手,开始学习组件生命周期。现在我对 componentWillUpdate
和 componetDidUpdate
有疑问。我知道一旦您从 shouldComponentUpdate
函数发送 return true
,它就会调用 componentWillUpdate
。一旦组件更新,componetDidUpdate
将调用。
我的问题是我们真的在 componetWillUpdate
函数中做了任何事情吗?我希望我们不能在该函数中使用 setState
。 componentWillUpdate函数的具体用途是什么?什么时候会有用呢?
最佳答案
componentWillUpdate 使您可以在组件接收新的 props 或状态之前控制对其进行操作。我一般用它来做动画。比方说,我想在删除 dom 之前将元素平滑地淡出 View 。这有帮助。
componentWillUpdate : function(newProps,newState){
if(!newState.show){
$(ReactDOM.findDOMNode(this.refs.elem)).css({'opacity':'1'});
}
else{
$(ReactDOM.findDOMNode(this.refs.elem)).css({'opacity':'0'});;
}
},
componentDidUpdate : function(oldProps,oldState){
if(this.state.show){
$(ReactDOM.findDOMNode(this.refs.elem)).css({'opacity':'1'});
}
else{
$(ReactDOM.findDOMNode(this.refs.elem)).css({'opacity':'0'});;
}
}
https://jsfiddle.net/zupoj3x6/
众多用例之一,尤其是在动画方面。这个想法是为国家变革做好准备。准备工作可以有多种方式,
您可能想要设置渲染可能需要的变量对于这个特定的状态
您可能想要为您的 div 制作动画或
调度事件来清理/设置您的商店。
无尽的用例。
关于reactjs - ReactJS 中的 componentWillUpdate 的具体用法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33075063/
我认为当调用 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) =>
我是一名优秀的程序员,十分优秀!