react_app 项目开发 _后台服务器端-node

Posted 我即狂澜,且力不可挽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react_app 项目开发 _后台服务器端-node相关的知识,希望对你有一定的参考价值。

后台服务器端

负责处理前台应用提交的请求,并向前台返回 json 数据

前台应用 负责

展现数据与用户交互

发 ajax 请求与后台应用交互

yarn add axios

/src/api/ajax.js

  • /*
        自定义封装 axios ---- https://github.com/axios/axios
            返回值: Promise 对象
    */
    export default function ajax(url, data={}, method="GET"){
        /****  自定义封装 Promise 对象 ****/
        return  new Promise((resolve, reject)=>{
            let promiseAxios;
            if(method === "GET"){
                promiseAxios = axios,get(url, {params: data});
            }else if(method === "POST"){
                promiseAxios = axios.post(url, data);
            }else{
                throw new Error("方法 method 错误");
            }
            promiseAxios.then(result=>{
                resolve(result);
            }).catch(error=>{
                console.log(error);
                message.error("请求出错了");
                throw new Error("请求出错了");
            });
        });
    }
    
    /****
    async function login(){
        const result= await ajax(
            "/login", 
            {uName: ‘Tom‘, uPWD: ‘112233‘},
             "POST"
        );
        if(result.statue === 0){...}else{...}
    }
    ****/

/src/api/login.js

  • import requestLogin from "xxx"
    ...
    this.props.form.validateFields(()=>{
        if(error){
        
        }else{
            const result = await requestLogin(values);    
        }
    })
    ...
    
    /**** 以上写法意味着 ajax 需要进一步封装 /src/api/index.js
    import ajax from "./ajax"
    // export function requestLogin(data){
    //     return ajax(“/login”, data, "POST");
    // }
    
    export default const requsetAPI = {
        login(data){
            return ajax(“/login”, data, "POST");
        },
        addUser(data){
            return ajax(“/manage/user/add”, data, "POST");
        },
    }
    ****/

保存 用户登录 状态

  • 会话保存到内存 sessionStorage
  • 永久保存到硬盘 localStorage
  • import store from "store";
    login = async (username, password)=>{
        const result= await requestAPI.login({username, password})();
        if(result.statue === 0){
            // yarn add [email protected]
            store.set("user_key", result.data);
        }else{...}
    }

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

以上是关于react_app 项目开发 _后台服务器端-node的主要内容,如果未能解决你的问题,请参考以下文章

react_app 项目开发 _角色管理_用户管理----权限管理

react+ts+node完成王者荣耀官网项目

如何在 create-react-app 中注入没有 REACT_APP 前缀的 dotenv 变量?

前后端分离下的跨域问题

[技术分享] 20171211_后端开发_使用@DateTimeFormat注解解决前台string类型与后台date类型的转换,使用@JsonFormat注解解决后台date类型与前台string类

react服务端渲染(同构)