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