あなたのレデックスストアにはいくつのレデューサーがありますか? combinereducers()を使用して複数のレデューサーを管理していますか?そうであれば、AとBの両方が独自の初期状態で自分の初期状態とReact Componentから独立したリデューサーになり、それ自身のローカル状態になり、対応するライフサイクルイベントメソッドから非同期アクションクリエーターをディスパッチして小道具を更新できます
あなたが渡した小道AからのBへのダウンは、その親コンポーネントから派生したものであり、レデューサーからの初期状態に格納する必要はありません。propTypes & defaultPropsを使用できます。それはあなたのコンポーネントのための小道具の名前の小道具タイプを割り当てることができます減量する人にそれらを置くことなく。
たとえば、反応ブートストラップ のソースコードは、そのコンポーネントに渡す必要があるセットアップのデフォルトの小道具を確認する方法です。コンポーネントに独自のproptypeとdefaultpropが設定されている場合、reduxストアからその小道具を渡す必要はありません。プロポーション値をコンポーネントAから動的に生成してBに渡すことができます。
import classNames from 'classnames';
import React from 'react';
import elementType from 'react-prop-types/lib/elementType';
import { bsClass, prefix, splitBsProps } from './utils/bootstrapUtils';
const propTypes = {
/**
* Turn any fixed-width grid layout into a full-width layout by this property.
*
* Adds `container-fluid` class.
*/
fluid: React.PropTypes.bool,
/**
* You can use a custom element for this component
*/
componentClass: elementType,
};
const defaultProps = {
componentClass: 'div',
fluid: false,
};
class Grid extends React.Component {
render() {
const { fluid, componentClass: Component, className, ...props } =
this.props;
const [bsProps, elementProps] = splitBsProps(props);
const classes = prefix(bsProps, fluid && 'fluid');
return (
<Component
{...elementProps}
className={classNames(className, classes)}
/>
);
}
}
Grid.propTypes = propTypes;
Grid.defaultProps = defaultProps;
export default bsClass('container', Grid);
「B」を保存する必要がありますか? 'A'を管理するコンポーネントはどのように見えますか? – juancab
Aはちょうど2つのパラメータであると想像してください。数字。コンポーネントは、Aを表すのに適切なものであれば、スライダー、チェックボックスにすることができます。 – bebbi