我试图通过 this.refs 在子组件中调用一个函数,但我不断收到这个函数不存在的错误。
Uncaught TypeError: this.refs.todayKpi.loadTodaysKpi is not a function
父组件:
class KpisHeader extends React.Component {
constructor() {
super();
this.onUpdate = this.onUpdate.bind(this);
}
render(){
return <div>
<DateRange ref="dateRange" onUpdate={this.onUpdate}/>
<TodayKpi ref="todayKpi" {...this.state}/>
</div>;
}
onUpdate(val){
this.setState({
startDate: val.startDate,
endDate: val.endDate
}, function(){
this.refs.todayKpi.loadTodaysKpi();
});
}
}
我想通过函数 onUpdate 从 DateRange 组件获取一些数据,然后我想触发 TodayKpi 中的一个函数,该函数从服务器获取数据。现在它只是 console.log("AAA");。
子组件:
class TodayKpi extends React.Component {
constructor() {
super();
this.loadTodaysKpi = this.loadTodaysKpi.bind(this);
}
render(){
console.log(this.props.startDate + " "+ this.props.endDate);
return <div className="today-kpi">
</div>;
}
loadTodaysKpi(){
console.log("AAAA");
}
}
我应该如何实施?