Я использую withReducer HOC и заметил такое поведение: Вызов этого на обработчик щелчка, например:Изменение композиции «withReducer»: обоснование вызова функции асинхронного редуктора
import React from 'react'
import { withReducer } from 'recompose'
import { compose } from 'ramda'
export default compose(
withReducer('state', 'dispatch', (state, { value }) => {
console.log(value)
return { ...state, value }
}, { value: 'zero' })
)((props) => {
const { dispatch, state } = props,
onClick =() => {
console.log('Hello')
dispatch({ value: 'one' })
dispatch({ value: 'two' })
dispatch({ value: 'three' })
console.log('World')
}
return (
<div>
<div>{state.value}</div>
<button onClick={onClick}>Click me</button>
</div>
)
})
Он будет производить
Здравствуйте
Мир
один
два
три
Это означает, что функция уменьшения вызывается асинхронно. Что такое оправдание для вызова async вместо того, чтобы немедленно применить изменения в магазине?