美文网首页
【React】组件间传递函数的问题

【React】组件间传递函数的问题

作者: 莫威權在B612等着那温柔的风 | 来源:发表于2018-02-27 22:36 被阅读258次
class LoggingButton extends React.Component {
  handleClick() {
    console.log('this is:', this);
  }

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

譬如:上面的这一段代码

如果没有留意绑定 this.handleClick 的话, 直接传给 onClick,就会招 Bug 的了。

因为当 handleClick 被调用的时候,里面的 this 会是 undefined

那么怎么才能保证 this 不会指代别的,而是我们想要的呢?有以下推荐方案

方案

使用 .bind(this) 使这个函数不论怎么调用都有同样的 this 值。将上面的例子代码改一改为:

<button onClick={this.handleClick.bind(this)}>

参考:bind()

其它的两种解决方案参考:文档

相关文章

  • 【React】组件间传递函数的问题

    譬如:上面的这一段代码 如果没有留意绑定 this.handleClick 的话, 直接传给 onClick,就会...

  • React.PureComponent 的简单理解

    对于 React.PureComponent 组件函数传递渲染情况探讨 对于给子组件传递函数的时候, 方式如下//...

  • react子组件向父组件传值

    相关资料:react 父组件怎么获取子组件的这个值React组件间信息传递方式react同级组件之间传值 • 父...

  • React Native 架构之 Redux介绍

    React 在 React 中,UI 以组件的形式来搭建,组件之间可以嵌套组合。另,React 中组件间通信的数据...

  • (1)React的开发

    1、React项目架构搭建2、JSX语法3、React组件化开发4、React组件间通信5、React中的事件6、...

  • React组件间通信

    不借助redux等状态管理工具的React组件间的通信解决方法 组件通信分类 React组件间通信分为2大类,3种...

  • 07-02-React 类组件

    目标 掌握类组件的定义和使用; 掌握 React 组件间通信的方式; 掌握类组件的生命周期。 内容 在 React...

  • 10.Web Components(web组件)

    React版本:15.4.2**翻译:xiyoki ** React和Web组件用于解决不同的问题。Web组件为可...

  • React基础

    React包含react元素和react组件 react元素 react组件 react组件分为函数组件和类组件 ...

  • React组件之间的通讯

    在 React 中,UI 以组件的形式来搭建,组件之间可以嵌套组合。另,React 中组件间通信的数据流是单向的,...

网友评论

      本文标题:【React】组件间传递函数的问题

      本文链接:https://www.haomeiwen.com/subject/tgdvxftx.html