摘要:
HOOK是React 16.8的新增特性。它可以让你在不编写class的情况下使用state以及其他React特性。HOOK没出现之前,在函数式组件里面只能根据父组件传入的props做一些处理,现在HOOK出现,就可以在函数式组件里面使用state、生命周期等等。 在我们继续之前,请记住HOOK是: 阅读全文
摘要:
上下文context有两个角色 Provider 数据提供 Consumer 数据读取 使用context可以避免通过中间元素传递props,context的设计目的是为了共享对于一个组件树而言是“全局”的数据 不使用context的情况下的代码: 注:不使用context的话,需要层层组件prop 阅读全文
摘要:
由于高阶组件链式调用的写法看起来比较的麻烦也不好理解。逻辑会看的比较绕 ES7就出现了装饰器的语法,专门拿来处理这种问题的 安装支持装饰器语法的babel编译插件 *npm install --save-dev @babel/plugin-proposal-decorators *更改 config 阅读全文
摘要:
使用情况如下: * 编写一个高阶组件进行属性的添加 * 编写一个高级组件编写生命周期 * 然后将以上两个高阶组件进行链式调用 示例 * 编写高阶组件进行属性的添加(返回的是函数组件): * 编写高阶组件重写生命周期(返回的是class组件): *链式调用 widthLearnReact为HOC组件添 阅读全文
摘要:
高阶组件一HOC(Highter-Order Components) 高阶组件是为了提高组件的复用率而出现的,抽离出具有相同逻辑或相同展示的组件 高阶组件其实是一个函数,接收一个组件,然后返回一个新的组件,返回的这个新的组件可以对属性进行包装,也可以重写部分生命周期 使用例子如下: 注:高阶组件一般 阅读全文
摘要:
React官方说任何一个组件集成实现的用组件复合都可以去实现。所以可以放心的去使用 组件复合类似于我们在vue框架里面用的组件插槽 具体使用方式如下: 示例: *写法一(类似vue中匿名插槽): *写法二(类似vue具名插槽): 父组件定义: 传给子组件: 子组件接收: 阅读全文
摘要:
React.memo是一个高阶组件的写法 React.memo让函数组件也拥有了PrueComponent的功能 使用例子如下: 示例: //改写上一个随笔里面的Title组件 阅读全文
摘要:
PureComponent是内部制定了shouldComponentUpdate生命周期的Component *它重写了一个方法来替换shouldComponentUpdate生命周期方法 平常开发过程中设计组件能使用PureComponent的地方都尽量使用 想要使用PrueComponent特性 阅读全文