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