学习React Hook后的一些理解

第一次接触React Hook是在9月份的一次面试中,当时面试官问我你知道Hook吗?我当时就是???(大家自行脑补表情包)

后来着急找工作,入职后刚开始也比较忙,渐渐都快忘记了这个事了。以至于React中文版中加了Hook之后一段时间我才看这个。

下面记录一些看了官方文档自己的一些记录及见解:

stateHook

       在没有hook之前 无状态组件就是指函数组件,但是有了hook之后赋予了函数组件处理state的功能,其核心目的是为了状态处理逻辑的复用(在以前通常是用HOC和render props实现,个人一般是用HOC)。

stateHook的使用也是比较简单的:

const HookTest:SFC = () => {
    const [count, setCount] = useState(0);// 通过useState函数创建函数的state及state的处理函数

    return (
        <div>
            <div>{count}</div>
            <button onClick={() => setCount(count + 1)}>增加</button>
        </div>
    )
}

 下面介绍useState方法:

观察useState的typeScript声明文档:

 可以看到useState接受一个任意类型的参数,然后返回一个长度为2的数组,数组中的第一个值是state,第二个值是一个函数

函数的参数可以为一个值或者是一个函数,如果是函数的话它有一个参数是更新之前的state。

effectHook:

effectHook是为了区分功能逻辑,防止功能逻辑被各种生命周期分割导致逻辑代码分散,effectHook的逻辑处理代码全部都在函数体内完成,无需像以前一样需要分别写在不同的生命周期中。effct的调用顺序取决于在函数组件中的声明顺序。effectHook在函数组件的每次更新中都会删除原来的effect然后创建新的effect

useEffect使用:

import React,{ useState, SFC, useEffect } from 'react';

const HookTest:SFC = () => {
    const [count, setCount] = useState(0);
    const [name, setName] = useState('maxiao')

    useEffect(() => {
        console.log('effect');
        document.title = count.toString();
        if(count > 5){
            setName('hyq');
        }
    },[count]);


    return (
        <div>
            <div>{count}</div>
            <button onClick={() => setCount(count + 1)}>增加</button>
            <div>{name}</div>
        </div>
    )
}

export default HookTest;

下面介绍useEffect方法:

同样根据typeScript文档进行分析:

useEffect的第一个参数为一个回调函数,第二的参数为可选,类型为只读的数组。

回调函数是你在DOM更新完成后需要进行的操作,第二个参数:只有数组中的数据发生变化时才会执行回调。

 

还有useContext(我还没看完O(∩_∩)O)

其次还有很多派生出来的hook,直接上官网的截图吧:

当然你也可以自定义自己的hook,但是这个需要结合实际的业务逻辑才行。

 

这些都是自己看了官方文档之后自己整理出来的一些东西,也不知道是不是理解正确了,如有错误,望各位指出

 

over

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React HookReact 16.8版本引入的一种新的特性,它可以让你在无需编写类组件的情况下使用状态和其他React特性。TypeScript是一种静态类型检查的JavaScript超集,可以帮助我们在开发过程中发现并修复潜在的错误。 要深入学习React Hook和TypeScript技术栈,你可以按照以下步骤进行: 1. 学习React基础知识:在学习React Hook之前,确保你对React的基础知识有一定的了解。理解React组件、生命周期、状态管理等概念是很重要的。 2. 学习TypeScript基础知识:如果你还不熟悉TypeScript,可以先学习一些基础知识,比如类型注解、接口、泛型等。掌握这些概念可以帮助你更好地使用TypeScript进行开发。 3. 学习React Hook:阅读React官方文档中关于React Hook的内容,并尝试编写一些简单的Hook。掌握useState、useEffect、useContext等常用的Hook函数,并理解它们的使用方法和原理。 4. 使用TypeScript编写React Hook:在掌握了React Hook的基本知识后,你可以开始使用TypeScript编写React Hook。使用TypeScript可以为你的代码提供类型检查和智能提示,减少潜在的错误。 5. 实践项目:选择一个小型的项目或者练习,使用React Hook和TypeScript进行开发。通过实践项目可以帮助你更好地理解和掌握这两个技术栈。 6. 深入学习进阶内容:一旦你对React Hook和TypeScript有了基本的了解,你可以进一步学习一些进阶内容,比如自定义Hook、使用第三方库、使用Context API等。 记住,深入学习任何技术栈都需要时间和实践。通过不断地阅读文档、编写代码和解决问题,你会逐渐掌握React Hook和TypeScript技术栈。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值