antd+umijs+dva+axios

參考網(wǎng)址

Umi + Dva + Antd的React項目實踐

umi,中文可發(fā)音為烏米,是一個可插拔的企業(yè)級 react 應用框架
dva 是一個基于 reduxredux-saga 的數(shù)據(jù)流方案

使用axios獲取后臺數(shù)據(jù)

services層:

request.js

/*
 * @Author: Jenny 
 * @Date: 2019-06-13 15:15:34 
 * @Last Modified by: Jenny
 * @Last Modified time: 2019-06-13 17:05:52
 */

 import axios from 'axios'

 export default async function request (options) {
  const service = axios.create({
    // baseURL: 'https://api.example.com'
  });
  // request攔截器
  service.interceptors.request.use(config => 
    // 在發(fā)送請求之前做些什么
    config
  , error => {
    // 對請求錯誤做些什么
    Promise.reject(error)
  })
  // 添加響應攔截器
  service.interceptors.response.use((response) => 
    // 對響應數(shù)據(jù)做點什么
    response
  , (error) => 
    // 對響應錯誤做點什么
    Promise.reject(error)
  );
  let response
  try {
      response = await service(options)
      return response
  } catch (err) {
      return response
  }
}

api.js

import request from '@/services/request'

// 
// eslint-disable-next-line import/prefer-default-export
export function fetchData(params,data) {
  return request({
    // baseURL: 'https://www.easy-mock.com/mock/5a98c04628e12f3fbc3fd21a/xinedai',
    url: '/api/xxx/xxxxx',//接口名稱
    method: 'post',
    params,
    data
  })
}

models層:

model.js

import { rtsGetCategorysList } from '@/services';
import { fetchData} from '@/services/api';

export default {
  namespace:"spending",// 命名空間名字,必填  
  state:{// state就是用來放初始值的
    payCode:"00"
  },
  /** 
   * // 能改變界面的action應該放這里,
   * 這里按官方意思不應該做數(shù)據(jù)處理,只是用來return state 從而改變界面
  */
 // 與后臺交互,處理數(shù)據(jù)邏輯的地方
  effects:{
    *fetchData({ payload }, { call, put }){
      const response = yield call(fetchData, payload);
      console.log("speding",response)
    },
  },
  reducers:{
    
  }
}

components層:

index.js

componentDidMount() {
    const { dispatch } = this.props;
    console.log("componentDidMount............")
     dispatch({
       type: 'spending/fetchData',
     });
    console.log("componentDidMount............end")
  }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 前兩篇寫了react各種基本操作和主要概念但其實沒必要那么復雜直接用框架就好啦這年頭前端框架真是一睜眼就多出好幾個...
    saint37閱讀 25,939評論 9 45
  • dva.js 簡介 dva 是阿里前端架構(gòu)師 sorrycc 帶 team 研發(fā)的一套輕量級前端框架,其目的是盡量...
    那顆星_fcaf閱讀 3,833評論 0 24
  • 前言 在學習antd的UI框架時,了解到了dva這個輕量級的應用框架,集成了react,redux,redux-s...
    Gary嘉駿閱讀 3,479評論 1 2
  • Hi,我是Bright以下內(nèi)容來自我的AI助手 1.基本情況 名號:Bright Wang 坐標:陜西·西安 簡書...
    brightAI閱讀 208評論 0 0
  • 米娜桑,吾名惠惠,今天就來“一本正經(jīng)”的聊聊進擊的巨人第八話真正看點。 在巨人激戰(zhàn)正酣之時,救火英雄貝特不顧個人安...
    惠惠動漫說閱讀 1,163評論 0 1

友情鏈接更多精彩內(nèi)容