В (1) вы отправляете «гром». В (2) вы отправляете «действие». Кроме того, в (1) someOtherAction
является «создателем действия». Вам нужно какое-то дополнительное промежуточное программное обеспечение (например, redux-thunk
) для отправки thunk.
Как правило, ваша цель - отправлять действия, но если вам нужно асинхронно отправлять действие (например, после вызова API). ), вы можете использовать thunk, чтобы иметь возможность отправлять действие асинхронно. Например:
store.dispatch(dispatch => {
fetch('api/user')
.then(res => res.json())
.then(user => {
dispatch(loadUser(user))
})
});
В этом примере мы используем преимущества концепции thunk, отправляя действие загрузки пользователя только после загрузки пользователя из некоторого API.