zoukankan      html  css  js  c++  java
  • react-11 高阶组件

    定义

    A higher-order component is a functon that takes a component and return a new component

    翻译:高阶组件就是个函数, 且该函数接受个组件作为参数, 并返回一个新的组件

    高阶组件(HOC)是react中对组件逻辑进行重用的高级技术。但高阶组件本身并不是ReactAPI. 它
    只是种模式, 这种模式是由react自身的组合性质必然产生的。

    在我们项目中使用react-redux框架的时候,有一个connect的概念, 这里的connect其实就是一 个 高
    阶组件。

    函数内部通过props把值传给组件。

    高阶组件是一个内有副作用的纯函数。(返回的是新的组件)

    mark

    mark

    上面两个组件架构都一样,只是内容有所不同,因此可以抽象出一个函数。

    mark

    hooks

    Hook是React 16.8的新增特性。它可以让你在不编写class (类组件)的情况下使用state以及其他的React特性。从概念上讲,React组件一直更像是函数。而Hook则拥抱了函数,同时也没有牺牲React的精神原则。Hook 提供了问题的解决方案,无需学习复杂的函数式或响应式编程技术。Hooks本质上是将类式组件中的操作进行了封装,通过hooks在 函数中调用,在函数内部生成自己的状态,生命周期等,通过hook进行调用,这也是为什么hooks只能在函数中使用,不能在类式组件中使用的原因(类式组件有自己的生命周期)

    mark

    概述:

    image-20210417153148699

    image-20210417153128250

    mark

    mark

    image-20210417152931697

    image-20210417152949383

    import React, { useState } from 'react';
    
    function Example() {
      // 声明一个叫 "count" 的 state 变量
      const [count, setCount] = useState(0);
    
      return (
        <div>
          <p>You clicked {count} times</p>
          <button onClick={() => setCount(count + 1)}>
            Click me
          </button>
        </div>
      );
    }
    

    image-20210417153412546

    Effect Hook 可以让你在函数组件中执行副作用操作

    image-20210417153608701

    image-20210417154116785

    image-20210417154713995

    image-20210417154847968

    image-20210417154915483

    image-20210417155158716

    image-20210417155622563

    image-20210417160256110

    不要写在if,for循环里。

    生活是一首长长的歌!
  • 相关阅读:
    关于控制地址控件的代码
    获取某个设计项列表界面上查询框中的值的代码
    js中不同值的替换
    js截取字符串方法实例
    抛异常语句的种类及区别
    从获取结果中去除重复记录
    泛微E8升级E9代码修改
    中控考勤数据转换
    WEB打印,分页首行自动带出栏目标题
    VS附加进程调试IIS网站
  • 原文地址:https://www.cnblogs.com/wind-zhou/p/14806419.html
Copyright © 2011-2022 走看看