请问react redux在组件初始化的时候请求server的代码怎么写?

图片描述

注释掉的代码在组件初始化的时候并没有执行,如果给items一个数组则没有问题,是我写法有问题嘛?

阅读 3.4k
2 个回答

你这写法怪怪的,写法有问题。
ajax请求代码写在componentDidMount()内。

最好把请求后端数据的代码分离到另外的文件, 例如 api.js, 再把方法导入 ,
import { loadMenu } from './api ,
然后使用 redux-promise-middleware 或者其他中间件管理你的异步 action, 这样就可以直接把加载数据的方法直接写在 actionCreator 里面了.

export const gainMenus = () => {
    return {
        tpye: 'getMenus',
        payload: loadMenu()
    }
}

使用redux-promise-middleware的话需要定义另外3个type

const GET_MENUS_PENDING = 'GET_MENUS_PENDING'
const GET_MENUS_REJECTED= 'GET_MENUS_REJECTED'
const GET_MENUS_FULFILLED= 'GET_MENUS_FULFILLED'
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进