在React.js中角色的$ watch函數等效於什麼?如何監聽react.js中的狀態變化?
我想監聽狀態更改並調用getSearchResults()之類的函數。
componentDidMount: function() {
this.getSearchResults();
}
在React.js中角色的$ watch函數等效於什麼?如何監聽react.js中的狀態變化?
我想監聽狀態更改並調用getSearchResults()之類的函數。
componentDidMount: function() {
this.getSearchResults();
}
我沒有使用Angular,但是閱讀上面的鏈接,似乎你正在嘗試編寫一些你不需要處理的東西。您可以在React組件層次結構中(通過this.setState())更改狀態,並且React將使您的組件重新呈現(有效地「傾聽」更改)。 如果你想從您的層次結構,然後另一部分爲「聽」你有兩種選擇:
以下lifecycle methods將在狀態更改時調用。您可以使用提供的參數和當前狀態來確定是否有意義的改變。
componentWillUpdate(object nextProps, object nextState)
componentDidUpdate(object prevProps, object prevState)
當時需要觸發的方法時在另一部件的屬性是(通過回調向上一個,經由支柱向下一個)更新,並在與所述螺旋槳的分量附加'componentDidUpdate'被處方權。謝謝你。 – 2017-04-19 04:51:29
我認爲你應該在組件生命週期以下使用,就好像你有一個輸入屬性,在更新時需要觸發你的組件更新,那麼這是最好的地方,因爲它會在渲染你之前調用它更新組件狀態以反映在視圖上。
componentWillReceiveProps: function(nextProps) {
this.setState({
likesIncreasing: nextProps.likeCount > this.props.likeCount
});
}
這是教科書的方式來做到這一點,當你使用道具,是的。謝謝。 – vbullinger 2018-02-07 20:50:08
但是,當您需要獲取使用(部分)狀態作爲url /參數的遠程數據時呢? – RnMss 2016-05-19 08:47:22
@RnMss - 查看redux和reducers(http://redux.js.org/docs/basics/Reducers.html)並重新選擇(https://github.com/reactjs/reselect)。 – edoloughlin 2016-12-15 22:35:07