首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何监听react.js中的状态变化?

如何监听react.js中的状态变化?
EN

Stack Overflow用户
提问于 2014-10-16 18:50:43
回答 6查看 318.1K关注 0票数 184

在React.js中,angular的$watch函数等价物是什么?

我想监听状态变化并调用像getSearchResults()这样的函数。

代码语言:javascript
复制
componentDidMount: function() {
    this.getSearchResults();
}
EN

回答 6

Stack Overflow用户

发布于 2014-10-16 23:54:01

当状态改变时,将调用以下lifecycle methods。您可以使用提供的参数和当前状态来确定是否发生了有意义的更改。

代码语言:javascript
复制
componentWillUpdate(object nextProps, object nextState)
componentDidUpdate(object prevProps, object prevState)
票数 355
EN

Stack Overflow用户

发布于 2019-07-27 23:01:20

自2019年使用useStateuseEffect挂钩的React 16.8以来,以下内容现在是等效的(在简单情况下):

AngularJS:

代码语言:javascript
复制
$scope.name = 'misko'
$scope.$watch('name', getSearchResults)

<input ng-model="name" />

React:

代码语言:javascript
复制
const [name, setName] = useState('misko')
useEffect(getSearchResults, [name])

<input value={name} onChange={e => setName(e.target.value)} />
票数 32
EN

Stack Overflow用户

发布于 2020-10-24 15:04:12

在2020年,您可以使用useEffect钩子监听状态变化,如下所示

代码语言:javascript
复制
export function MyComponent(props) {
    const [myState, setMystate] = useState('initialState')

    useEffect(() => {
        console.log(myState, '- Has changed')
    },[myState]) // <-- here put the parameter to listen
}
票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26402534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档