Как обновить состояние в redux без использования метода mapDispatchToProps ()

Я пытаюсь обновить состояние редуктора, используя: store.dispatch (NameOftheReducer (data)).

Он вызывает создателя действия, но не обновляет состояние редуктора. Я не хочу создавать какой-либо компонент React, из которого я хочу отправлять изменение состояния. Есть ли способ сделать это .. Заранее спасибо


person john dave    schedule 04.07.2016    source источник
comment
Можете ли вы опубликовать свой создатель действий? Может ты не отдаешь акцию?   -  person azium    schedule 04.07.2016
comment
Пожалуйста, опубликуйте содержимое вашего создателя действий, а также то, как вы обрабатываете действие в своем редукторе.   -  person Elod Szopos    schedule 04.07.2016
comment
Не могли бы вы объяснить NameOftheReducer(data) вместо этого NameOftheActionCreator(data)   -  person webdeb    schedule 04.07.2016


Ответы (2)


Предположим, что store хранится где-то в глобальном

тогда ты можешь просто

store.dispatch({
  type: "SOME_ACTION",
  value: "value"
})

если у вас есть actionCreator, например:

function someAction(value) {
   return {
     type: "SOME_ACTION",
     value: value
   }
}

И теперь вы можете использовать его с отправкой:

store.dispatch(someAction("some value"))

Я что-то пропустил?

person webdeb    schedule 04.07.2016

Я думаю, вы неправильно поняли, как связаны состояние компонента и редукции.

redux изменение состояния выполняется посредством действий независимо от того, какой компонент фактически «использует» это состояние.

Пока у вас есть создатель действия, определенный где-то, и вы обрабатываете соответствующий редуктор action.type, вы можете использовать этот создатель действия в любом компоненте.

Прямое использование store бесполезно. store хранится в context, и обычно использование context считается плохой практикой. В redux хорошо то, что он заботится об этом, предоставляя вам Provider и connect.

За исключением инициализации приложения, вы всегда должны использовать mapDispatchToProps, когда хотите использовать создатели действий в своем компоненте.

person xiaofan2406    schedule 05.07.2016