我是一个初学者,正在尝试学习React。我有一个状态为布尔值的父组件,可以使用其类中定义的函数rerender()进行更改。我将此功能传递给子组件的道具,如下所示:
<Todolist
color={color}
name={name}
items={items}
addListItem={this.addListItem}
rerender={() => this.rerender}
/>
我在该函数中有一个console.log来检查它是否被调用。我在子组件中这样称呼它:
this.props.rerender();
我确定子组件中调用this.props.rerender()
的onChange事件正在触发,那么为什么不调用它的可能原因有哪些?
答案 0 :(得分:2)
这将不起作用,因此不会调用该函数,这是两个选项:
rerender={() => this.rerender()}
或
rerender={this.rerender}
后一个参数会传递任何参数,但第一个参数不会传递参数。
如果bind
未定义为箭头功能,则可能需要this.renderer
。