私は現在、最初の React プロジェクトに取り組んでおり、コンポーネント間でデータを渡す際に問題が発生しました。リストで選択したアイテムに応じて異なる日のスタイルを設定するために、このライブラリ カレンダー ウィジェットを使用しています。
https://github.com/vazco/meteor-universe-react-widgets
この構造のツリー内にある 4 つの相互作用するコンポーネントがあります。
-----A-----
| |
C B
|
|
D
現在、選択した項目のデータを最上位コンポーネント (コンポーネント A) からリスト (コンポーネント B) に保存しています。データを渡したいコンポーネントはコンポーネント D です。私がやりたいのは、状態を作成し、値を C に渡し、次に D に渡すことです。残念ながら、C はライブラリのカレンダー コンポーネントであり、実際には操作できません。
B での選択によって生成されたオブジェクトが、C を操作できずに D によってアクセスされる必要があるため、子コンポーネントのヘッドを介して値を渡す方法はありますか?
コード スニペット:
コンポーネント C (カレンダー) が A で呼び出され、コンポーネント 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>);
}
})