我是靠谱客的博主 甜甜眼神,最近开发中收集的这篇文章主要介绍react使用dva对数据做GET或POST请求,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

react使用dva对数据做GET或POST请求

首先在组件页面 index.js 中添加

componentDidMount(){
const { dispatch } =this.props;
dispatch({
	//type里的menu是models/menus.js里面的命名空间namespace的menu
	type:'menu/fetchMenus',   
	payload:{},   
	callback:res=>{
		console.log(res,111);
},
}); 
};

//接下来在models/menus.js (意思是在models文件下创建一个model的组件)

import * as API from '../services/api';

export default {
  namespace:'menu',

  state:{
    menu:[],
  },

  effects:{
  //fetchMenus给到services/apis/menus.js的
    *fetchMenus({callback},{call ,put}){
      const response =yield call(API.fetchMenus);
      yield put({
      //public是写在下面reducers里,携带的参数是固定的(也就是修改数据)
        type:'public',
        payload:{...response, name:'menu'},
      });
      if(response.code===0){
        if(callback) callback(response.data);
      }
    },
  },

  reducers:{
    public(state, action){
      return{
        ...state,
        [action.payload.name]:action.payload.data,
      }
    },
    clearData(){
      return{
        menu:[],
      }
    },
  },
}

然后在services/apis/menus.js(意思是在services/apis文件下再创建一个menus.js)


// 模拟  GET请求
import { v1, checkCode } from '../config';
import request from '../../utils/request';

export async function fetchMenus() {
  const response = request(`${v1}/users/821/menus`);
  return checkCode(response);
};



//模拟  POST请求
//
import { v1, checkCode } from '../config';
import request from '../../utils/request';
import { getUserId } from '../../utils/token';


// 只有这里发生变化,在后面有传值
export async function Banksd(params) {
  const id = getUserId();
  const response =request(`${v1}/users/${id}/current`,{
    mtehod:'POST',
    body:params,
  })

    return checkCode(response);
}

接下来在services/api.js去请求apis下创建接口组件的路径

export * from './apis/menus';

最后在路由 common/router.js 里对应的组件页面路由写入模块组件名

 '/wechat/department': {
      identity: 'common',
      //['menus']就是models下的menu
      component: dynamicWrapper(app, ['menus'], () => import('../routes/Wechat/Department')),
    },

结果如下
在这里插入图片描述

最后

以上就是甜甜眼神为你收集整理的react使用dva对数据做GET或POST请求的全部内容,希望文章能够帮你解决react使用dva对数据做GET或POST请求所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部