在React.js中,angular的$watch函数等价物是什么?
我想监听状态变化并调用像getSearchResults()这样的函数。
componentDidMount: function() {
this.getSearchResults();
}
发布于 2014-10-16 23:54:01
当状态改变时,将调用以下lifecycle methods。您可以使用提供的参数和当前状态来确定是否发生了有意义的更改。
componentWillUpdate(object nextProps, object nextState)
componentDidUpdate(object prevProps, object prevState)
发布于 2019-07-27 23:01:20
自2019年使用useState和useEffect挂钩的React 16.8以来,以下内容现在是等效的(在简单情况下):
AngularJS:
$scope.name = 'misko'
$scope.$watch('name', getSearchResults)
<input ng-model="name" />
React:
const [name, setName] = useState('misko')
useEffect(getSearchResults, [name])
<input value={name} onChange={e => setName(e.target.value)} />
发布于 2020-10-24 15:04:12
在2020年,您可以使用useEffect钩子监听状态变化,如下所示
export function MyComponent(props) {
const [myState, setMystate] = useState('initialState')
useEffect(() => {
console.log(myState, '- Has changed')
},[myState]) // <-- here put the parameter to listen
}
https://stackoverflow.com/questions/26402534
复制相似问题