[react] hooks基础 => useState ===

目录

hooks是什么?

Hooks 前后,组件开发模式的对比

为什么要有 Hooks?

react组件的本质

class 组件自身的问题

函数式组件的好处

hooks的使用策略

useState-基本使用

使用数组解构简化代码

useState-处理表单元素

useState-setXXX回调函数格式

useState 两种格式

setXXX的参数可以是回调

useState-组件的更新过程

useState 的初始值(参数)只会在组件第一次渲染时生效

如何为函数组件提供多个状态?

useState的使用规则


hooks是什么?

Hooks:钩子、钓钩、钩住。

是一些可以让你在函数组件里“钩入” React state 及生命周期等特性的函数。

是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。

作用: 为函数组件提供状态、生命周期等原本 在Class 组件中才提供的功能

  • Hooks 只能在函数组件中使用

  • 可以理解为通过 Hooks 为函数组件钩入 class 组件的特性

Hooks 前后,组件开发模式的对比

  • React v16.8 以前: class 组件(提供状态) + 函数组件(展示内容)

  • React v16.8 及其以后:

    1. class 组件(提供状态) + 函数组件(展示内容)

    2. Hooks(提供状态) + 函数组件(展示内容)

    3. 混用以上两种方式:部分功能用 class 组件,部分功能用 Hooks+函数组件

为什么要有 Hooks?

两个角度:1.组件的状态逻辑复用     2.class 组件自身的问题

react组件的本质

React 是用于构建用户界面的 JavaScript 库 。

React组件是对特定功能的封装,主要用来对UI进行拆分。

React 组件的模型其实很直观,就是从 Model 到 View 的映射,这里的 Model 对应到 React 中就是 state 和 props

公式:组件(State+Props) = UI  

class 组件自身的问题

根据状态来渲染UI这件事上,class 组件并没有发挥它最重要的功能:

  • 组件之间很少继承

  • 组件之间很少相互访问

函数式组件的好处

  1. 函数本身比较简单,更好的胜任根据状态来渲染UI这件事

  2. hooks让函数组件内部有了维护状态的能力

  3. hooks带来了组件的逻辑复用能力

hooks的使用策略

  1. react没有计划从React中移除class

  2. Hook 和现有代码可以同时工作,你可以渐进式地使用:

    1. 不推荐直接使用 Hooks 大规模重构现有组件

    2. 推荐新功能用 Hooks,复杂功能实现不了的,也可以继续用 class

    3. 找一个功能简单、非核心功能的组件开始使用 hooks

  3. class 组件相关的 API 在hooks中可以不用

    1. state与setState

    2. 钩子函数,componentDidMountcomponentDidUpdatecomponentWillUnmount

    3. `this 相关的用法

  4. 原来学习的内容还是要用的

    1. JSX:{}onClick={handleClick}、条件渲染、列表渲染、样式处理等

    2. 组件:函数组件、组件通讯

    3. React 开发理念:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值