redux-thunk允许您调度被调用的函数:https://github.com/reduxjs/redux-thunk/blob/master/src/index.js如果你不使用redux thunk,你会得到一个错误。
我目前正在学习redux thunk,遇到了使用函数返回函数的奇怪语法。
const App = () => {
const dispatch = useDispatch()
useEffect(() => {
dispatch(anecdoteService.initializeAnecdotes())
}, [dispatch])
也可以重写为
const App = () => {
const dispatch = useDispatch()
useEffect(() => {
anecdoteService.initializeAnecdotes()(dispatch)
}, [dispatch])
initializeAnecnotes定义为
const initializeAnecdotes = () => {
return async dispatch => {
const anecdotes = await getAll()
dispatch({
type: 'INIT_ANECDOTES',
data: anecdotes,
})
}
}
它们都有效(至少对我来说(,我的问题是第一个版本是如何工作的?