新手搭建 react antd 环境笔记

2023-11-13

安裝依赖
npm install -g create-react-app
npm install antd-mobile --save

npm install less-loader less --save-dev
npm install react-app-rewired --save-dev
npm install babel-plugin-import --save-dev
npm add customize-cra --dev

建立 config-overrides.js

const {override, fixBabelImports, addLessLoader} = require("customize-cra");
module.exports = override(
    fixBabelImports("import", {
        libraryName: "antd-mobile", libraryDirectory: "es", style: true // change importing css to less
    }),
    addLessLoader({
        javascriptEnabled: true,
        modifyVars: { "@primary-color": "#1DA57A" }
    })
);


package.json 修改

  "scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test --env=jsdom",
    "eject": "react-scripts eject"
  },

html頁面添加js

  <script src="https://as.alipayobjects.com/g/component/fastclick/1.0.6/fastclick.js"></script>
  <script>
    if ('addEventListener' in document) {
      document.addEventListener('DOMContentLoaded', function() {
        FastClick.attach(document.body);
      }, false);
    }
    if(!window.Promise) {
      document.writeln('<script src="https://as.alipayobjects.com/g/component/es6-promise/3.2.2/es6-promise.min.js"'+'>'+'<'+'/'+'script>');
    }
  </script>


生态简介:
create-react-app
react
redux
react-redux
redux-thunk
react-router-dom
axios
antd-mobilie for react

搭建axios拦截器:
import axios from "axios";

const Interceptors = {
    init(){
        // 拦截请求
        axios.interceptors.request.use(req => {
            req.url = `https://cnodejs.org/${req.url}`;
            return req;
        });

        // 拦截回应
        axios.interceptors.response.use(res => {
            // console.log(res);
            return res;
        }, err => {
            console.log(err);
            return err;
        });
    }
};

export default Interceptors;

建立services:
import axios from "axios";

const TabsService = {
    /**
     * 获取主题首页
     * get参数
     * page Number 页数
     * tab String 主题分类。目前有 ask share job good
     * limit Number 每一页的主题数量
     * mdrender String 当为 false 时,不渲染。默认为 true,渲染出现的所有 markdown 格式文本。
     * @constructor
     */
    topics(data = null) {
        return axios.get(`api/v1/topics`, {data: data});
    },
    /**
     * 主题详情
     * get参数
     * mdrender String 当为 false 时,不渲染。默认为 true,渲染出现的所有 markdown 格式文本。
     * accesstoken String 当需要知道一个主题是否被特定用户收藏以及对应评论是否被特定用户点赞时,才需要带此参数。会影响返回值中的 is_collect 以及 replies 列表中的 is_uped 值。
     * @param id
     * @param data
     * @returns {AxiosPromise<any>}
     */
    topic(id, data = null){
        return axios.get(`api/v1/topic/${id}`, {data: data});
    }
};
export default TabsService;

新手探讨目前到此为止,接下来配置好,redux,就可以开心的撸一个小东西用来熟悉react了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

新手搭建 react antd 环境笔记 的相关文章

  • 微信小程序app.js onLaunch异步,首页onLoad先执行

    本来按照事件顺序 小程序初始化时触发App里的onLaunch 后面再执行页面Page里的onLoad 但是在onLaunch里请求授权信息本就为异步执行 等待返回值的时候Page里的onLoad事件就已经执行了 app js 代码 app

随机推荐

  • Java 并发编程

    目录 回顾线程 并发编程 并发编程 Java 内存模型 JMM 编程核心问题 可见性 原子性 有序性 可见性 有序性 原子性 valatile 关键字 CAS Compare And Swap 比较并交换 原子类 java中的锁 乐观锁 悲
  • JS逆向学习---简单的rsa

    今日目标 aHR0cHM6Ly9jbi5mYXdteC5jb20vaG9tZS9yZWdpc3Rlcg 登录接口有一个加密参数 也就是密码加密值 就是今天的小目标 直接搜索 只有一个js文件有结果 第一个便是加密位置 很明显 是把明文密码传
  • 炼丹速度×7!你的Mac电脑也能在PyTorch训练中用GPU加速了

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 来源 量子位 QbitAI 编辑 丰色 发自 凹非寺 一直以来 Pytorch在Mac上仅支持使用CPU进行训练 就在刚刚 Pytorch官方宣布 其最新版v1 12可以
  • 自然语言处理常用标识符<UNK>,<PAD>,<SOS>,<EOS>等

  • 系统架构设计高级技能 · 软件可靠性分析与设计

    系列文章目录 系统架构设计高级技能 软件架构概念 架构风格 ABSD 架构复用 DSSA 一 系统架构设计师 系统架构设计高级技能 系统质量属性与架构评估 二 系统架构设计师 系统架构设计高级技能 软件可靠性分析与设计 三 系统架构设计师
  • 这样统计代码执行耗时,才足够优雅

    一 前言 代码耗时统计在日常开发中算是一个十分常见的需求 特别是在需要找出代码性能瓶颈时 可能也是受限于 Java 的语言特性 总觉得代码写起来不够优雅 大量的耗时统计代码 干扰了业务逻辑 特别是开发功能的时候 有个感受就是刚刚开发完代码很
  • Java 关于时间、日历类

    一 相互转换 1 Calendar 转化 String 获取当前时间的具体情况 如年 月 日 week date 分 秒等 Calendar calendat Calendar getInstance SimpleDateFormat sd
  • 打印金字塔

    首先我们分解这个问题 由简到难循序渐进 先打印4层半个金字塔如图 public class demo1 打印半个金字塔 public static void main String args TODO Auto generated meth
  • 深度解析开源IDE的领头羊—【Eclipse 】--认识Eclipse

    认识Eclipse 阅读本文前 相信读者已经对Eclipse略知一二了 起码已经知道它是一个Java的集成开发环境 IDE 并且还是一个应用程序框架 可以通过开发插件 把Eclipse打造成各种应用软件 而且还打算通过学习本书的内容 在具体
  • vue2 webpack版批量注册全局组件

    使用背景 用vue开发的所有项目 都是采用组件化的思想开发的 分为公共组件和功能组件 又可以分为全局自定义组件和局部自定义组件 全局自定义组件在main js文件直接引入 这种是最简单的方式 使用缺点 如果我们需要注册的全局组件非常多 那么
  • 移动端 - 搜索组件(search-list篇)

    移动端 搜索组件 search input篇 移动端 搜索组件 suggest篇 这里我们需要去封装搜索历史组件 这一个组件还是很简单的 但是逻辑部分需要根据实际的需求来进行书写 所以这里我不太好去写实际的代码 不过可以提供我的思路 主要的
  • Spring的事务

    目录 一 Spring的事务 二 Spring事务如何实现 三 Spring事务的失效 一 Spring的事务 当我们在某个方法上添加了 Transactional注解后 就表示该方法在调用时会开启Spring事务 而这个方法所在的类所对应
  • 第九课,OpenGL光照之材质

    物体材质 在冯氏模型中 一个物体的材质由 全局光照系数 漫反射光照系数 反射光照系数 反射高光半径系数决定 分别由 ambient diffuse specular shininess表示 材质系数 The numbers Name Amb
  • 【博客管理】博客目录导航【置顶】

    一 OpenCV学习 OpenCV学习笔记 函数学习 OpenCV学习笔记 函数学习 一 MFC OpenCV2 4 7读取摄像头之cvCaptureFromCAM 的索引问题 OpenCV学习笔记 函数学习 二 MFC OpenCV2 4
  • 【华为OD机试2023】字符串解密 java python c++

    字符串解密 题目 题目描述 给定两个字符串string1和string2 string1是一个被加扰的宇符串 string1由小写英文字母 a z 和数字字符 0 9 组成 而加扰字符串由 0 9 a z 组成 string1里面可能包含0
  • 使用js控制浏览器开启全屏,判断浏览器是否处于全屏状态

    引入lodash import from lodash 切换全屏方法 export function fullScreen isOpen target let dom target void 0 let open list requestF
  • 什么是.Net?

    NET 是一个开发平台 或者叫开发者平台 使用 NET 你可以创建不同类型的应用程序 使用多种开发语言 编辑器和工具库创建网页 手机 桌面以及游戏等应用 其核心特点是 免费 开源和跨平台 1 语言和平台 我们先来理解一下什么是 NET 开发
  • URL 转为QR code(二维码)

    总结几种把网页url转为二维码的方法 1 Chrome浏览器 最快的一种方法就是用chrome自带的QR code分享 这种方法的缺点就是不能自定义二维码的格式 颜色 logo之类的 都是默认的小恐龙图标 2 chrome插件 可以在chr
  • 关于非同一局域网下两台设备之间的网络通信(服务器的作用)

    看过很多关于局域网下的两台设备之间的通信方式 最多的就是通过socket进行tcp ip通信 建立一个服务端 再建立一个客户端 客户端向服务端发起请求连接 然后再进行两端的通信 但发现其实这却存在着很多的问题与不足 如果是不在同一局域网下的
  • 新手搭建 react antd 环境笔记

    安裝依赖 npm install g create react app npm install antd mobile save npm install less loader less save dev npm install react