Я новичок в JavaScript и реагирую, и у меня есть существующий проект, для которого мне нужно добавить функциональность. Он использует redux и redux-thunk с redux-saga для отправки запросов API. В настоящее время он поддерживает только 1 dispatch функцию для каждого компонента, и мне нужно dispatch несколько типов запросов к саге. Я пытаюсь bindActionCreators добавить dispatch в магазины, но безрезультатно. Я полностью потерял часть mapDispatchToProps и как мне "запустить действие" впоследствии.
в одной отправке в реквизиты, я сделал это:
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'});`
но когда я перейду на использование bindActionCreators, я больше не могу получить доступ к нему в реквизитах (я пробовал столько разных экспериментов, которые я почти сдал)
Вот как я создаю несколько рассылок:
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'});
Спасибо заранее!