react --- 数据监听、axios请求封装

一、数据监听

constructor(props) {
    super(props);
    this.state = {
      name: "张三",
      data: "123",
    };
  }

<button onClick={() => { this.setState({ data: 6666 }); }} > 触发监听 </button>

componentDidUpdate(i,j) {
    console.log(i);
    console.log(j)
    console.log(this.props);
    console.log(this.state);
  }

控制台输出:


image.png

二、axios请求封装
新建server.js

import axios from "axios";
// import qs from "qs";
axios.defaults.baseURL = "http://1.111.111.113:8000";
axios.interceptors.request.use((config) => {
//   console.log(config);
  return config;
});

axios.interceptors.response.use((config) => {
//   console.log(config);
  return config;
});

const http = {
  post: "",
  get: "",
};

http.post = function (api, data) {
  //let params = qs.stringify(data);
  return new Promise((resolve, reject) => {
    axios.post(api, data).then((response) => {
      resolve(response);
    });
  });
};

http.get = function (api, data) {
  //let params = qs.stringify(data);
  return new Promise((resolve, reject) => {
    axios.get(api, data).then((response) => {
      resolve(response);
    });
  });
};

export default http;

index.js

import http from './server'
React.$http = http

使用

async componentDidMount() {
    const { data: res } = await React.$http.post("/getBag", { params: 111 });
    console.log(res);
  }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容