好像有点用的react知识

react 与 reactDOM

react:负责逻辑控制,react.createElement()将页面渲染成树形模板
reactDOM:渲染器,渲染成浏览器可识别的dom

jsx

在dom元素中使用{表达式}

组件

函数式:function Component(props){
return (…)
}
类写法:class Comp extends React.Component{
render(){
return (…)
}
}
此处略去n多基础内容


react 按需加载

1、需要安装react-app-rewired 以及依赖 babel-plugin-import
2、在根目录下新建文件 config-overrides.js
3、配置如下

const { injectBabelPlugin } = require('react-app-rewired);
module.exports = function(config,env){
	config = injectBabelPlugin(
		["import",{libraryName:"antd",libraryDectory:"es",style:"css"}],
		config
	)
	return config;
}

4、将package.json中的script内的react-scripts替换成react-app-rewired

pureComponen – 解决数据消耗

在使用Component或function定义的函数,即使每次数据重新赋值但值没变,组件依旧会重新渲染,此时如果使用pureComponent则只会渲染一次。

当然,若用component也可以用shouldComponentUpdate(nextProp){} ,将数据与之前的对比,如果不一样return true;则进行渲染。
若用函数式组件则可以修改为高阶组件的方式,使用高阶组件会返回一个新的组件,16.6版本以后可用
const 组件名 = React.memo(function(props){return (…)})

pureComponent原理也是shouldComponentUpdate,而且是浅比较,所以对于多层嵌套的json来说没什么卵用

高阶组件HOC

const Comp = (props) => { retrun <div>12345-{props.name}</div> }

const Hcomp = Comp => { var name = 'test' return props => <Comp name={name}></Comp> }

Hcomp(Comp)

复合组件Composition

类似vue里面的slot
例如:定义一个组件

const Test = (props) => {
	return <div>{props.children}</div>
}

使用:<Test><h1>无论test里面包裹着什么都会被当做props.children</h1><Test>

案例:antd里面的radioGroup

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值