私はReact/Reduxから始めて、子コンポーネントのラッパーのようなコンポーネントをFilter
という名前で持っています。このフィルタコンポーネントには、それ自身の状態があり、子要素に渡す必要があります。子供のレスキューパスの状態を子に返す
export class Filter extends React.Component {
static propTypes = {
children: PropTypes.node
};
render() {
return <div>{this.props.children}</div>
}
}
const mapStateToProps = function(state) {
return state.filter;
};
export default connect((mapStateToProps), {
doFilter: (event) => {
return console.log(event.target.value);
}
})(Filter)
一つは、それが値を変更しますときdoFilter
を呼び出すことになっている:
import Filter from 'components/filter';
....
export class CountryFilter extends React.Component {
render() {
return (
<Filter>
<SelectField floatingLabelText="Country" value='all' fullWidth={true} onChange={this.props.doFilter}>
<MenuItem value='all' primaryText="All"/>
<MenuItem value='de' primaryText="Germany"/>
<MenuItem value='us' primaryText="United States"/>
</SelectField>
</Filter>
);
}
}
問題がdoFilter
が呼び出されないということです。 this.props
のログにCountryFilter
コンポーネントがある場合は、空のオブジェクトを返します。
何か間違っていますか?
残念ながら動作しません。 'onChange'イベントは親コンポーネントまで伝搬しません:' Filter' –
店舗を定義する場所と状態のフィルタ部分にレデューサーのコードを貼り付けることができますか? – marcacyr
また、@lux、Reduxのそのビットのすばらしい故障とその動作方法。 – marcacyr