首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React如何使用` `const props = this.props`捕获道具

React如何使用` `const props = this.props`捕获道具
EN

Stack Overflow用户
提问于 2019-03-07 05:18:13
回答 1查看 240关注 0票数 0

我读了丹写的article。在下面的示例中

代码语言:javascript
复制
class ProfilePage extends React.Component {
  showMessage = (user) => {
    alert('Followed ' + user);
  };

  handleClick = () => {
    const props = this.props;
    setTimeout(() => this.showMessage(props.user), 3000);
  };

  render() {
    return <button onClick={this.handleClick}>Follow</button>;
  }
}

既然两者都指向相同的引用,为什么this.props更改时props不会更改?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-07 06:03:25

props对象是不可变的,this.props引用可能会随着时间的推移而改变,以防收到新的属性。

它应该是:

代码语言:javascript
复制
  handleClick = () => {
    setTimeout(() => {
      const { props } = this;
      this.showMessage(props.user);
    }, 3000);
  };

此外,应该跟踪超时,以便在组件卸载时取消,以防止泄漏和异常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55032296

复制
相关文章

相似问题

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