【发布时间】:2015-12-06 18:10:49
【问题描述】:
我试图通过 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");
}
}
我应该如何实现这个?
【问题讨论】: