React.js:从父组件传递到子组件的函数不会被调用

时间:2020-06-11 09:00:29

标签: javascript reactjs react-state-management

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

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

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

this.props.rerender();

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

1 个答案:

答案 0 :(得分:2)

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

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

 rerender={this.rerender}

后一个参数会传递任何参数,但第一个参数不会传递参数。

如果bind未定义为箭头功能,则可能需要this.renderer