React.js中与angular的$ watch函数等效的函数是什么?
我想听状态更改并调用类似getSearchResults()的函数。
componentDidMount: function() {
this.getSearchResults();
}
React.js中与angular的$ watch函数等效的函数是什么?
我想听状态更改并调用类似getSearchResults()的函数。
componentDidMount: function() {
this.getSearchResults();
}
状态更改时,将调用以下生命周期方法。您可以使用提供的参数和当前状态来确定是否有意义的更改。
componentWillUpdate(object nextProps, object nextState)
componentDidUpdate(object prevProps, object prevState)
已经有一段时间了,但供以后参考:可以使用shouldComponentUpdate()方法。
An update can be caused by changes to props or state. These methods are called in the following order when a component is being re-rendered:
static getDerivedStateFromProps()
shouldComponentUpdate()
render()
getSnapshotBeforeUpdate()
componentDidUpdate()
我认为您应该在“组件生命周期”下使用,就像您有一个输入属性,该属性在更新时需要触发您的组件更新一样,因此这是最好的选择,因为它将在渲染之前被调用,甚至可以将组件状态更新为反映在视图上。
componentWillReceiveProps: function(nextProps) {
this.setState({
likesIncreasing: nextProps.likeCount > this.props.likeCount
});
}
我没有使用过Angular,但是阅读了上面的链接,似乎您正在尝试为不需要处理的内容编写代码。您对React组件层次结构中的状态进行更改(通过this.setState()),React将导致您的组件重新呈现(有效地“侦听”更改)。如果要从层次结构中的另一个组件“监听”,则有两个选择: