react学习记录

1. Component和PureComponent的区别?

PureComponent自带通过props和state的浅对比来实现 shouldComponentUpate(),而Component没有。
但如果包含比较复杂的数据结构,可能会因深层的数据不一致而产生错误的否定判断,导致界面得不到更新。
因为js使用的是引用赋值,新的对象简单引用了原始对象,改变新对象虽然影响了原始对象,但对象的地址还是一样,使用===比较的方式相等。而在PureComponent中,会被判定prop相等而不触发render()。
解决方式:
(1)避免使用值可能会突变的属性或状态,而是使用副本来返回新的改变
(2)使用Immutable.js

2. Umi.js(乌米)

UmiJS
react初识Umi.JS

  • 什么是Umi.js?

umi,中文可发音为乌米,是一个可插拔的企业级 react 应用框架。你可以将它简单的理解为一个专注性能的类 next.js 前端框架,并通过约定、自动生成和解析代码等方式来辅助开发,减少我们开发者的代码量

  • 为什么使用Umi.js?
    我们做react开发的时候会不会遇到以下问题?
    1)项目做大的时候,开发调试的启动和热更新时间会变得很长。
    2)大应用下,网站打开很慢,有没有办法基于路由做到按需加载。
    3)dva的model每次都要手写载入,能否一开始就同项目初始化好?

  • 乌米其它优势:

开箱即用,内置 react、react-router 等
类 next.js 且功能完备的路由约定,同时支持配置的路由方式
完善的插件体系,覆盖从源码到构建产物的每个生命周期
一键兼容到 IE9
完善的 TypeScript 支持
与 dva 数据流的深入融合

2. dva

DvaJS

Dva = React-Router + Redux + Redux-saga

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值