随笔分类 -  react

学习React系列(十)——Render Props
摘要:解决问题:将行为封装,供多个组件使用(在多个组件之间分享某段代码) 组件中的props属性中包含一个"render"属性(该属性为一个返回值为元素的方法),然后在该组件的render方法中 调用该方法,就可以将渲染内容变为动态的。 注意事项: 一、如果使用该方法,那么在组件的props中不要使用"r 阅读全文
posted @ 2018-03-24 23:30 爬虫一只 阅读(184) 评论(0) 推荐(0)
学习React系列(九)——高阶函数
摘要:定义:高阶组件就是一个函数,且该函数接收一个组件作为参数,并返回一个新的组件。 (上一篇已经说过了高阶组件可以用来解决交叉问题) 一、不要改变原始组件,使用组合 若放开上面代码中的注释,那么包裹组件该方法原有的逻辑将被重写,可能会引起冲突。 二、约定:将不相关的props属性传递给包裹组件 三、约定 阅读全文
posted @ 2018-03-22 21:28 爬虫一只 阅读(294) 评论(0) 推荐(0)
学习react系列(八)—— mixins迁移
摘要:先来介绍一下mixins(混入) 先来看一段代码: 对于广义的 mixin 方法,就是用赋值的方式将 mixins 对象里的方法都挂载到原对象上,就实现了对对象的混入 在来看看React中的使用方式: React中的mixins其实就是将一段公共代码提供过React组件使用,减少代码的复用。 现在来 阅读全文
posted @ 2018-03-21 22:08 爬虫一只 阅读(252) 评论(0) 推荐(0)
学习React系列(七)——Fragments、Portals、Error Boundaries与WEB组件
摘要:React.Fragment portals Error Boundaries WEB组件 React.Fragment 想象一个场景,想把td包装为组件添加到table中去,代码如下: 自定义的MyTable中插入自定义的MyTd.....,对不起直接报错,tr的子元素只能为td而实际上中间还套了 阅读全文
posted @ 2018-03-19 21:04 爬虫一只 阅读(317) 评论(0) 推荐(0)
学习React系列(六)——更新dom细节于原理
摘要:React更新dom的依据: 1、不同类型的elements会产生不同的树 2、通过render方法中包含key属性的子元素,开发者可以示意哪些子元素可能是稳定的。 更新过程: 一、根元素类型不同:旧树被卸载,旧的Dom节点销毁,Component实例将接收componentWillUnmount( 阅读全文
posted @ 2018-03-18 11:59 爬虫一只 阅读(2465) 评论(0) 推荐(0)
学习React系列(五)——使性能最优
摘要:提高性能可分为两方面: 一、配置层面 二、代码层面 本文只从代码层面考虑: 一、避免重复渲染 这里要说一句: 当shouldComponentUpdate返回false的时候不触发render函数也就无法造成渲染 触发render之后react发现原来的dom与现在的dom一致,将不触发更新 如何避 阅读全文
posted @ 2018-03-12 22:25 爬虫一只 阅读(178) 评论(0) 推荐(0)
学习React系列(四)——受控组件与非受控组件
摘要:受控组件:通过组件的状态与属性的改变来控制组件 不可控组件:直接通过底层的dom来控制组件(具体来说就是通过绑定再底层dom上的方法来实现的,比如说ref,onChange) 受控组件 不可控组件 在使用非受控组件的时候可以通过设置默认值来对dom的value进行初始化操作 另外, <input t 阅读全文
posted @ 2018-03-09 13:56 爬虫一只 阅读(862) 评论(0) 推荐(0)
学习React系列(三)——Refs和Dom
摘要:一、适用于以下场景: 1、控制焦点,文本选择,或者媒体控制 2、触发必要的动画 3、整合第三方dom库 二、不要过度使用ref 如果想通过ref来改变state,那么换一种方式-变量提升可能会更好。 三、ref可以添加在dom中 ref接收一个回掉函数,该函数的传入参数为底层的dom元素,该回掉方法 阅读全文
posted @ 2018-03-08 22:18 爬虫一只 阅读(415) 评论(0) 推荐(0)
学习React系列(二)——深入了解JSX
摘要:1、JX实际上是React.createElement(component,props,...children)的语法糖 2、JSX判断是否为react组件的依据是标签首字母为大写(所以要求用户自定义的组件必须首字母大写) 3、JSX编译需要使用React.createElement方法和被编译的组 阅读全文
posted @ 2018-03-07 20:43 爬虫一只 阅读(350) 评论(0) 推荐(0)
学习React系列(一)——React.Component 生命周期
摘要:挂载中(只执行一次) 以下方法在组件实例正被创建和插入到DOM中时调用 constructor()一般用于初始化state和方法的this绑定 componentWillMount() render() componentDidMount() 一般用于建立订阅,副作用和ajax获取数据 更新中 属性 阅读全文
posted @ 2018-02-23 21:47 爬虫一只 阅读(803) 评论(0) 推荐(0)