赞
踩
引入ant-design组件库
npm install antd --save
yarn add antd --save
一、按需加载
加载全部的antd组件的样式(对前端性能有隐患)
需要对antd进行配置进行按需加载,需要对create-react-app的默认配置进行自定义
需要更改我们的启动插件
引入react-app-rewired并修改package.json里的启动配置。由于新的react-app-rewired@2.X版本的关系还要安装customize-cra
二、安装命令yarn add react-app-rewired customize-cra
更改package.json文件
然后在根目录创建一个config-overrides.js,用于修改默认配置,先不用写内容
执行安装babel-plugin-import插件(命令yarn add babel-plugin-import)
修改config-overrides.js文件内容如下
- const {override,fixBabelImports}=require('customize-cra');
- module.exports=override(
- fixBabelImports('import',{
- libraryName:'antd',
- libraryDirectory:'es',
- style:'css'
- })
- )
- import Button from 'antd'
三、性能优化PurComponent讲解
PurComponent是内部定制了shouldComponentUpdate生命周期的Component
它重写了一个方法来替换shouldComponentUpdate生命周期
平常开发过程设计组件能使用PurComponent都尽量使用
使用特性要记住两个小原则
确保数据类型是值类型
如果是引用类型,确保地址不变,同时不应当有深层次数据变化
使用PurComponent可以省Reac去shouldComponentUpdate生命周期的代码,代码还会简单很多
四、React.memo讲解
React.memo是一个高阶组件的写法
React.memo让函数组件也拥有PurComponent的功能
五、React高级使用之组件复合写法
React官方说任何一个能用组件继承实现的用组件复合都可以实现,所以可以放心使用
组件复合类似于我们在Vue框架里的组件插槽
- funtion XdDialog(props){
- return(
- <div style={{border:'4px solid red'}}>
- {/*等于Vue中匿名插槽*/}
- {props.children}
- {/*等于Vue中具名插槽*/}
- <div className="ads">
- {props.footer}
- </div>
- </div>
- )
- }
- function WelcomeXdDialog(){
- const fonfirmBtn=(<button onClick={()=>alert("确定?")}>确定</button>)
- return(
- <XdDialog color="green" footer={fonfirmBtn}>
- <p>欢迎欢迎</p>
- </XdDialog>
- )
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。