用户管理的 CURD 应用_笔记(张立志视频版)

用户管理的 CURD 应用

(原版)用户管理的 CURD 应用地址:https://github.com/sorrycc/blog/issues/18

(张立志视频版)用户管理的 CURD 应用地址:https://www.aspirantzhang.com/dva3.html

名词解释

1.Redux:(瑞大可死)一个中间件,用来在React里处理数据的流向和存储,提出了一个store(存储)的概念,但是Redux没有考虑异步数据

2.Redux-saga:(瑞大可死-撒噶)专门处理异步数据

3.dva:首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,所以也可以理解为一个轻量级的应用框架。

4.umi:中文可发音为乌米,是可扩展的企业级前端应用框架。Umi 以路由为基础的,同时支持配置式路由和约定式路由,保证路由的功能完备,并以此进行功能扩展。然后配以生命周期完善的插件体系,覆盖从源码到构建产物的每个生命周期,支持各种功能扩展和业务需求。

5.Reducer: 异径管; 大小头;变径管;节流 [rəˈdusər],代表同步,可以理解为一个水龙头,它后面是汇聚水的,水可能有不同的来源,最终会从水龙头里流出来,相当于一个归类的过程。Reducer是仓库返回给页面的唯一出口

6.Effect:副作用;影响[ɪˈfekt];代表异步,在不同的异步的数据里面去接收各种各样接口的数据,统一返回给Reducer,Reducer再返回给页面。

7.Subscription:订阅[səbˈskrɪpʃn];针对一些常见的情形,例如键盘的按键是翻页,是键盘的动作触发了翻页,这样的一个动作叫翻页。订阅涉及到订阅源,每次订阅都回订阅一个数据源,然后返回给页面,或者执行其他的动作。订阅无所谓同步异步,只是一个快捷方法。Subscription虽然在仓库里,但相当于页面调用。

8.dispatch:分派,派遣[dɪˈspætʃ],可以派Reducer也可以派Effect,所以叫分派

9.put:给,仓库里面不同方法之间的一个给的动作

10.model:模型;样式; [ˈmɑːdl],仓库

11. modal:模式的; [ˈmoʊdl],弹窗

12. “.ts”: TypeScript是一种由微软开发的开源、跨平台的编程语言。它是JavaScript的超集,最终会被编译为JavaScript代码。

13.”.tsx”: 使用 typescript 书写 jsx

14.jsx: JSX是一种JavaScript的语法扩展,运用于React架构中,其格式比较像是模版语言,但事实上完全是在JavaScript内部实现的。

15.enum  枚举

笔记

1. typeof运算符,用来检测一个变量的类型

JSON.stringify()和JSON.parse()是一个来回转换的过程

2. Promise. resolve()可以快速的获得Promise对象

3.yield 可以看成等的意思

4.创建umi脚手架,

先创建文件夹,然后在这个文件夹下运行cmd命令

通过官方工具创建项目    $ yarn create @umijs/umi-app

安装依赖              $ yarn

5. tree /f  可以查看树形的目录结构

6. export default()=>{}这是函数组件

7.快速创建react组件,在vscode工具市场搜es7,rce快速创建类组件,rac快速创建函数组件

https://blog.youkuaiyun.com/hbiao68/article/details/101113155

8.umi中已经安装了插件形式的antd,所以我们不需要手动去安装,直接去官网找合适的组件用就好了。

9.在umi里dva是配置开启,在umi文档里搜dva可以看model的样例

10.nfn快速创建一个箭头函数,imp快速import

11. ctrl + shift + n 开一个新的VS code 窗口

12.effects里的函数前要加个*号,

13.action 可以看成{type,payload}的组合,type没用的话可以删掉

14.像state,action这样的参数可以展开,直接{users},在花括号里写上自己所需要的内容。

15.配置跨域代理,在umi文档里搜proxy

.umirc.ts

proxy: {

    '/api': {

      'target': 'http://public-api-v1.aspirantzhang.com',

      'changeOrigin': true,

      'pathRewrite': { '^/api' : '' },

    },

  },

然后就可以直接用http://192.168.1.7:8000/api/users访问了,注意中间那个“api”

service.ts

request('/api/users', {

16.    const [变量名,修改这个变量的函数方法]=useState(false) 

等于号左边是个数组,,快捷打ussa差不多

17.onClick后面只能跟函数名或者箭头函数,可以在箭头函数里调用函数并且传参。

18.useEffect,相当于componentDidMount,在组件加载后调用

19. const data=yield call(editRecord,{id,values});

call有其他的数据要传的话,加个逗号放在第二个参数

20. then()方法是异步执行。

意思是:就是当.then()前的方法执行完后再执行then()内部的程序,这样就避免了,数据没获取到等的问题。

21. catch(e)是用来捕获错误

遇到的问题

1. 参数“tags”隐式具有“any”类型。ts(7006)

解决办法:

tsconfig.json文件中的“ strict”参数设置为false

https://stackoverflow.com/questions/43064221/typescript-ts7006-parameter-xxx-implicitly-has-an-any-type               4楼

2.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值