私はJavaScriptと反応ネイティブの方が新しく、既存のプロジェクトには機能を追加する必要があります。 APIリクエストを送信するには、redux
とredux-thunk
とredux-saga
を使用しています。現在のところ、コンポーネントごとに1つだけのdispatch
関数をサポートし、私はdispatch
サガへのいくつかのタイプの要求が必要です。私は店にdispatch
を追加するbindActionCreators
にしようとしていますが、無駄に..私は完全にmapDispatchToProps
部分に失われ、どのように私はその後、「アクションを発射する」んています。..redux-thunkで `bindActionCreators`を行う方法
を小道具に単一のディスパッチで、私がやりましたこの:
let sdtp = (arg) => {
return (dispatch) => {
dispatch({
type: 'GET_TEST_HASHMAP_SAGA',
hashmap: arg
})
}
}
export default MainPage = connect(
mapStateToProps,
{ sdtp }
)(MainPage);
と私は(これは正しい用語であり、少なくとも私のサガが呼び出される?)「機能にアクセスする」ことができMainPage.render()
コンポーネント内:
`this.props.sdtp({'hello':'world'});`
が、私はを使用するように変更、私はここに(私はほとんどあきらめて非常に多くの異なる実験を試してみました)もう小道具に
にそれにアクセスすることはできません私は複数の派遣を構築する方法である:
let action1 = (args) => {
return (dispatch) => {
dispatch({
type: 'GET_TEST_HASHMAP_SAGA',
hashmap: arg
});
}
}
let action2 = (args) => {
return (dispatch) => {
dispatch({
type: 'GET_TEST_HASHMAP_SAGA2',
params: arg
});
}
}
let action3 = (args) => {
return (dispatch) => {
dispatch({
type: 'GET_TEST_HASHMAP_SAGA3',
args: arg
});
}
}
let mdtp = (dispatch) => {
return {
actions: bindActionCreators(action1, action2, action3, dispatch)
}
}
export default MainPage = connect(
mapStateToProps,
{ mdtp }
)(MainPage);
私はactions
にアクセスしようとしていますこのように:事前に
this.props.mdtp.action1({arg: 'hello'});
ありがとう!
おかげで働くだけの代替です!私は他の方法を知っていませんでした。ちょうど 'bindActionCreators'を表示し、私はそれが唯一の方法だと思っていました..btw、私はあなたの' bindActionCreators'を試しました、それは動作しません、 'bindActionCreators'の結果を返すmagneticzは、 – Zennichimaro