Reactでかなり複雑なチャートコンポーネントを構築することを考えています。言うまでもなく、そのようなコンポーネントには、何とかして管理する必要のある多数の状態があります。内部の独立したReduxストアを持つリジューム可能なコンポーネント
Reduxはこれに最適だと思われますが、プロバイダのトップレベルのコンテナをカスタムストアでラップすると、コンポーネントの内部のreduxストアはグローバルなアプリケーションの状態に干渉しませんより大きなReact/Reduxアプリに含まれていますか?
import React, { Component } from 'react';
import { createStore } from 'redux';
import { Provider } from 'react-redux';
import internalReducer from './reducer';
export default class MyReduxComponent extends Component {
render() {
const store = createStore(internalReducer, this.props.initialState);
return <Provider store={store}>
<Chart />
</Provider>
}
}
ええ、しかし、コンポーネントは、お互いの状態についてすべて知る必要がある14の異なるサブコンポーネントで構成されていると考えてください。それは面倒な速さになるでしょう。 – hampusohlsson
主要なトップレベルのチャートコンポーネントは、その子孫間で共有する必要がある状態を管理します。それらの子孫は小道具を介してその状態にアクセスしたり変更したりすることができます。子孫コンポーネントは共有状態を保持しません。このアプローチは、何らかの組み込みReduxを使用しようとするよりも面倒ではありませんし、意図された用途に沿ったものです。 –
あなたは正しいと思います。誰かがこの質問に遭遇した場合、私はプロトタイプで回答を作成しました。 – hampusohlsson