Axios调用useReducer返回承诺,而不返回数据

问题描述

我在上下文提供程序中使用useReducer。我的想法是,我将成为状态和调度功能正常运行的中心。

我正在对数据仓库进行axios调用以获取项目。但是,当我返回调度函数时,它正在返回一个promise。如何从axios调用返回数据,以便将调用状态的数据存储在状态中?

const initState = []

const projectsReducer = async (state,action) => {
    switch(action.type) {
        case 'FETCH_PROJECTS':
            const req = await axios.get('/api/fetch_projects')
            const { data } = req
            return {...state,data}
            
        default: 
            return state

    }
}

useEffect(() => {
    const initFetch = () => {
        projectsDispatch({type: 'FETCH_PROJECTS'})
    }
    initFetch()
},[])


const [projects,projectsDispatch] = useReducer(projectsReducer,initState)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)