2016-07-07 9 views
-1

render機能で使用するためにすでにデータが入力されているストアにデータを表示するにはどうすればよいですか?例えばすでにデータが格納されているストアからデータを取得

:ここで私はすでにデータを持って店からLayoutコンポーネントにデータを送信する必要が

ReactDOM.render(
    <Provider store={store}> 
     <Layout/> 
    </Provider>, 
    document.getElementById('app') 
    ); 

。対応する変更が店舗にあるたびに、変更されたデータを送信することは可能ですか?

+0

何か試しましたか?まずは 'Provider'のためのドキュメントを読んでください。 –

+0

反応コンポーネントをストア内の値に接続すると、値の変更が発生したときにコンポーネントが自動的に再描画されます。 http://redux.js.org/docs/basics/UsageWithReact.htmlを参照してください。 – Robin

+0

ドキュメントを読みましたが、まだ解決策がありません。現在、データのコンテナ内でデータを取得する方法を知っています。 connect()が必要ですが、最初にデータが格納されている必要があります。たとえば、レイアウトのデータが既にユーザーからフォームに移入されているため、これらの値をレイアウトコンテナに渡す必要があります。 –

答えて

0

プロバイダは、Reactコンポーネントコンテキストにストアを配置します。次に、コンポーネント定義(この場合はレイアウト)で@connectデコレータを使用して、ストアに接続し、必要なデータを選択します。

接続はコンテキストからストアにアクセスし、変更をサブスクライブし、ストア内のデータが変更されるたびにコンポーネントが再レンダリングされるようにします。あなたは小道具を通って店を渡すべきではありません、それは悪い習慣です。接続されたプロパティを子どもに渡すことはできますが、決して完全なストアにすることはできません。

ストアに格納する初期データは、アプリが初めてDOMにマウントされるときにレンダリングされます。その後の変更(ユーザーフォーム送信)はストアを変更し、コンポーネントは接続メカニズムを介して更新されます。

Reduxドキュメントはよく書かれています。私はそれらを詳しく見ることをお勧めします。また、フリーであるReduxに関するチュートリアルもたくさんあります(例:egghead.io)。

関連する問題