当前位置: 首页 > 知识库问答 >
问题:

将函数绑定到组件React es6[duplicate]的不同方法是什么

闻人志
2023-03-14

我有一个类似于示例中的组件

class ItemBox extends Component {

  constructor(props){
    super(props);
    this.someFn = this.someFn.bind(this);
  }

  someFn(){
    console.log(this)
  }

  render(){
    return (
      <div onClick={this.someFn}>bla<div/>
    )
  }
};

我想问-是否有某种不同的解决方案将函数绑定到组件,除了像我在构造函数中使用的(从留档中读取)。因为我可以有100个函数,我要传递给子组件或在这个组件中使用等等。

共有2个答案

田志
2023-03-14

我通常这样做:

class SomeComponent extends Component {
    _handleClick = () => {
         console.log(this)
    }
    render() {
        return (
            <div onClick={this._handleClick}>bla</div>
        )
    } 
}
岑彬炳
2023-03-14

你可以这样做。。。

class ItemBox extends Component {

  someFn = ()=>{
    console.log(this)
  }
  constructor(props){
    super(props);
  }

  render(){
    return (
      <div onClick={this.someFn}>bla<div/>
    )
  }
};
 类似资料:
  • 我有这个组件。我想将调用处理程序传递给我创建的每个listElement。如果我像下面这样做,使用,它可以正常工作。问题是,我从控制台中的React中得到此警告:

  • 问题内容: 我之所以问这个问题,是因为对该答案的评论主题进行了讨论。我有90%的方法可以解决问题。 存在三种不同形式: 绑定方法 , 未绑定方法 和 函数 对象之间的区别是什么,所有这些都由f1描述?一个人怎么称呼这三个物体?它们如何相互转化?关于这些东西的文档很难理解。 问题答案: 一个 功能 是创建由声明,或通过。在Python 2下,当函数出现在语句主体中(或传递给类构造调用)时,它将转换为

  • 问题内容: 我这里有这个组件。我想将调用处理程序传递给我创建的每个listElement。如果我像下面那样使用,则可以正常运行。问题是我从控制台的React收到此警告: 如果我不绑定它,我的孩子们将不了解呼叫处理程序。我可以做些什么? PS: 我知道解构作业,如http://facebook.github.io/react/docs/transferring- props.html#transfe

  • 我制作了一个Azure函数(http触发器),并使用Visual Studio 2019将其部署在门户中。 该函数工作正常,我现在将添加一个绑定到我的CosmosDB。我导航到我的函数,然后单击“集成”。现在我看到了触发器、函数以及输入和输出绑定。 我应该可以在这里添加一个新的输入绑定。但我没有“添加”按钮。我做错了什么?

  • 对不起,我能看到这个问题本问了好几次。我以前解决过这个问题,但我知道我正在以一种新的方式看待它。 这是我在流量存储中的构造函数: 下面是我通过TodoActions.fuction子组件中的Name调用的一些函数: 我得到

  • 迁移到androidx后 我在编译时遇到问题 错误:找不到符号androidx。数据绑定。数据绑定组件 符号:类DataBindingComponent位置:包androidx。数据绑定 im使用的Gradle版本为5.4.1 注:androidx中的其他组件。数据绑定包工作正常。像DataBindingUtil 只有DataBindingComponent不工作