我目前正在处理我的第一个 React 项目,但遇到了在组件之间传递数据的问题。我正在使用这个库日历小部件来根据列表中的选定项目设置不同的日期。
https://github.com/vazco/meteor-universe-react-widgets
在这个结构中,我的树中有四个交互组件:
-----A-----
| |
C B
|
|
D
我目前正在将所选项目的数据存储在我的顶级组件(组件 A)的列表(组件 B)中。我想要将数据传递给的组件是组件 D。我想要做的是创建一个状态并将值传递给 C,然后再传递给 D。不幸的是,C 是库中的日历组件,我无法真正操作它。
由于我需要 B 中的选择生成的对象由 D 访问而无法操作 C,有没有办法将值传递到子组件的头部?
代码片段:
如何在 A 中调用组件 C(日历),同时传入组件 D(dayComponent)。
<Calendar dayComponent={DayComponent}/>;
日历组件声明&导入
System.import('{universe:react-widgets}').then(ReactWidgets => {
Calendar = ReactWidgets.Calendar;
});
Day 组件返回日历日的样式。
DayComponent = React.createClass({
render() {
var date = this.props.date
, style = { backgroundColor: date < new Date() && '#F57B7B' }
return (<div style={style}>
{this.props.label}
</div>);
}
})