1
import { connect } from 'react-redux';
import Renderer from '../components/renderers/AlphaRenderer/AlphaRenderer';
const mapStateToProps = state => ({
...
});
const mapDispatchToProps = dispatch => ({
...
});
const RendererContainer = connect(mapStateToProps, mapDispatchToProps)(AlphaRenderer);
export default RendererContainer;
はこの全く同じ容器が複数で使用されるコンポーネントを反応させる - 各成分が同じ小道具を使用し、同じイベントを発し、それ以外互いに非常に異なっています。各コンポーネントに対して同じコンテナを繰り返すのではなく、コンポーネントをコンテナに渡す方法が必要です。同等のもの:
<RendererContainer component={AlphaRenderer} />
<RendererContainer component={BetaRenderer} />
<RendererContainer component={CharlieRenderer} />
実行時にコンポーネントをコンテナに渡す方法はありますか?
ような何かを行うことができます。 'connect()()'の値を返すことは、ステートレスな反応コンポーネントから 'connect()()'の値を返すことと同じではありません。 – Undistraction
本当ですか?私は 'connect()'ではなく 'connect()'を意味しました。 'connect()'はfnを返します –
不変違反:ReduxWrapperComponent(...):有効なReact要素(またはnull)を返す必要があります。未定義、配列またはその他の無効なオブジェクトが返された可能性があります。 – Undistraction