私の反応コンポーネントでは、標準アクションとownPropsで受け取った関数を組み合わせることができますか?それ、どうやったら出来るの?フォローアップの質問は、ownPropsでは、オブジェクトと関数を得ることができるということです。私は誤ってオブジェクトを自分の行動に入れないようにしたいと思っています。機能だけが自分の行動に入るはずです。組み込み関数はmapDispatchToPropsのownPropsから来ました
最終的には、this.props.actions.standardAction1
またはthis.props.actions.actionReceivedThruOwnProps
と入力する必要があります。
import React, {Component} from 'react';
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import * as standardActions from '../actions/standardActions';
class MyComponent extends Component {
constructor(props) {
super(props);
}
render() {
return(
<div>Something goes here...</div>
);
}
}
function mapStateToProps(state) {
return {
something: state.something
}
}
function mapDispatchToProps(dispatch, ownProps) {
return {
actions: bindActionCreators(standardActions, dispatch)
};
}
export default connect(mapStateToProps, mapDispatchToProps)(MyComponent)
何らかの理由で、これは "props.actions"の下のすべてのアクションを結合していません。私は "this.props.myFunction"ではなく "this.props.actions.myFunction"として渡す関数を見ています。それほど大きな取引ではありませんでしたが、結局私はそれらをすべて「行動」の下に組み込むことを望んでいました。なぜそれを組み合わせることができないのでしょうか? – Sam
コンポーネントに渡されたpropsの形状、 'mapStateToProps'、' mapDispatchToProps'、そして最後に 'mergeProps'を書き留めて、それらをどのように組み合わせるかを見ることができます。 – Andreyco