注释掉的代码在组件初始化的时候并没有执行,如果给items一个数组则没有问题,是我写法有问题嘛?
最好把请求后端数据的代码分离到另外的文件, 例如 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'
你这写法怪怪的,写法有问题。
ajax请求代码写在componentDidMount()内。