Существует три компонента, и я хочу передать данные от calendar
до ItemForm
компонента через Main
.
Main
Компонент:
var Main = createReactClass({
getInitialState() {
return { items: [] ,
}
},
componentDidUpdate() {
console.log(this.state.start) // Start is here
},
getStartEnd(start, end) {
this.setState({start: start});
this.setState({end: end});
},
render() {
return (
<Router>
<Route path="/calendar" render={() => <Calendar items={this.state.items} getStartEnd={this.getStartEnd}/>}></Route>
<Route path="/itemform" render={(props) => <ItemForm {...props} start={this.state.start} end={this.state.end} />}></Route>
<Route path="/itemshow/:id" render={(props) => <ItemShow {...props} />}></Route>
</Router>
);
}
});
calendar
component:
getStartEnd (start, end) вызывается внутри этого компонента.
ItemForm
component:
var ItemForm = createReactClass({
componentDidMount () {
},
componentDidUpdate() {
console.log(this.props.start) // Is undefined
},
render() {
var start = this.props.start // Is undefined
return (
<div>
{start}
</div>
);
}
});
Похоже, start
и end
пройдено из calendar
в main
компонент, но не может быть передан в ItemForm
? Чего мне не хватает?