2022年2月23日

ReactNative初体验请求与数据接口篇(一)

作者 admin

reactNative是支持fetch函数的,我们可以直接使用fetch,对于接口这块我把业务分成了如下几块业务

1.接口数据:之后导出API–请求地址

2.请求函数:之后导出HTTP–请求方法

3.封装使用方法:使用HTTP函数请求API

//接口拼接
const BASE_URL = 'http://txcourseapi.jsplusplus.com/';

const API = {
    getCourseDatas: BASE_URL + 'course/v2/get_course_datas',
    getCourses: BASE_URL + 'course/v2/get_courses/',
    getCourseFields: BASE_URL + 'course/v2/get_course_fields'
}
export {
  API
};

//请求函数
export default class HTTP {
  fetchGet (options) {
    return fetch(options.url)
      .then((response) => response.json())
      .then((responseJson) => {
        options.success(responseJson);
      })
      .catch((error) => {
        options.error(error);
      })
  }
}

//封装使用方法
import { API } from '../utils/config';
import HTTP from '../utils/http';

export default class IndexModel extends HTTP {
    getCourseDatas () {
        return new Promise((resolve) => {
      this.fetchGet({
        url: API.getCourseDatas,
        success (data) {
            resolve(data);
        },
        error (error) {
            console.error('error:' + error);
        }
      });
        });
    }
}

在主页面调用的时候,要先引入IndexModel,且实例化这个类

import IndexModel from '../models/Index';

//实例化类
const indexModel = new IndexModel();
 getCourseDatas () {
    indexModel.getCourseDatas().then((res) => {
     // 拿到数据
      const data = res.result;
    });
  }

这样就能拿到我们后端的接口数据了,是不是很简单??