リアクションでは、覚えておくべきことは小道具が降りて、イベントはになります。これは、親コンポーネントから子に値を渡すことを意味し、小道具を介して行います。子から親に値を渡すには、イベントを使用します。
あなたの場合、コンポーネントの複数の「レイヤー」があるので、複数のステップで行う必要があります。たとえば:
<Desktop val={this.props.val} />
したがって、元の値は、デスクトップ・コンポーネントでアクセスできるようになりました:インデックスコンポーネントrender
方法で
<Index val="the value to pass" />
どこかで、あなたは次の行を持っています。インデックスコンポーネントと同様に、デスクトップコンポーネントrender
方法は、
<Components val={this.props.val} />
をコンポーネントの連鎖をバックアップ値を渡すには、イベントとイベントハンドラが必要です。例:
インデックスコンポーネントに、値の変更を処理するメソッドonValChange
があるとします。その後、我々はこのように子コンポーネントをレンダリング:
// in the index component, a change will call the index component
// onValChange method
<Desktop val={this.props.val} onValChange={this.onValChange} />
// in the desktop component, a change will call the props.onValChange
// method (which is the same one passed in the line above)
<Component val={this.props.val} onValChange={this.props.onValChange} />
最も簡単な方法は、小道具を経由してcomponents.jsx' 'に、その後desktop.jsx''にindex.jsx' 'から機能を伝承することであろう。 'components.jsx'でそれを呼び出すと、関数は伝播する状態を変更できます。 – Joe
[Thinking in React](https://reactjs.org/docs/thinking-in-react.html)と[Lifting State Up](https://reactjs.org/docs/lifting-state-up.html)をお読みください)を参照してください。 –
はい@Joe私はそれを理解していますが、components.jsxからindex.jsxにどのように通信できるのですか? –