2017-11-08 4 views
0

子コンポーネントにかなりのサイズのデータ​​を渡す必要がある状況にあるときは、これを行うのが一番簡単な方法です。それを状態に格納してから、レンダリング関数内の小道具として子に渡します。私はそれを行うためにあまり集中的な方法があるかどうか疑問に思っています。例えばReactJS:親コンポーネントのフェッチされたデータを子供に渡すための状態に保存する必要がありますか?

、私はそうのような関係がある場合:

<PhotosPage> 
<PhotoFeed/> 
</PhotosPage> 

私は「写真フィード」を取得したいことを知っているデータPhotosPageマウントを。このデータをPhotoPagecomponentDidMount()機能で取得したとします。私は単にpropとしてPhotoFeedコンポーネントにthis.state.feedDataを渡すことができ、その後

this.setState({feedData: response.data}) 

と:フェッチ要求がちょうど状態を設定するために完了した後に、何かのようにように私にはそれほど明白思わ

<PhotoFeed feedData={this.state.feedData})}/> 

これは、コンポーネントの複雑さの残りを含まない非常に基本的な例です。これを行うには、国家に依存しない方法はありますか?私はこれが関係を見るのに非常に一般的なコンテナであると確信しています。そして、私はreduxなどなしでこれを行うための "より良い"方法があるかどうかを知りたいと思います。私は、私が必要がないときに私が州を使用しているかもしれないと心配しています。

+0

あなたが明示的な状態管理システムを使用していない限り、それは行く方法です。それを心配しないでください – Axnyff

+0

私には良いようです。この質問はおそらくhttps://codereview.stackexchange.com/にあります。 – jmargolisvt

答えて

2

これは一般に受け入れられる方法であり、この技術はコンテナコンポーネントと呼ばれます。 Hereはこれらについての良い記事です。

Hereは、いくつかの異なるオプションについて議論しています。

関連する問題