首页 > 解决方案 > React.js:从父组件传递到子组件的函数没有被调用

问题描述

我是初学者,正在尝试学习 React。我有一个父组件,其状态为布尔值,我使用在其类中定义的名为 rerender() 的函数进行更改。我将此函数传递给子组件的道具,如下所示:

<Todolist
  color={color}
  name={name}
  items={items}
  addListItem={this.addListItem}
  rerender={() => this.rerender}
/>

我在该函数中有一个 console.log 来检查它是否被调用。我在子组件中这样称呼它:

this.props.rerender();

我确定this.props.rerender()在子组件中调用的 onChange 事件正在触发,那么为什么没有调用它的一些可能原因是什么?

标签: javascriptreactjsreact-state-management

解决方案


这将不起作用,因此不会调用该函数,有 2 个选项:

 rerender={() => this.rerender()}

或者

 rerender={this.rerender}

后一个得到传递给它的任何参数,但第一个不会得到任何参数。

如果它未定义为箭头函数,bind您可能需要。this.renderer


推荐阅读