React Hook基本使用踩坑指南

本文探讨了React Hook在实际应用中可能遇到的问题,包括useState数据必须通过setState修改、useEffect在修改state时的影响以及使用引用类型可能导致的死循环。遵循Hook使用原则并理解其工作原理对于避免这些问题至关重要。
摘要由CSDN通过智能技术生成

React因为提倡函数式编程,所以提出了Hook思想来增强函数组件的功能,以此来替代基于Class的组件。但是我们有可能从基于Class这样的实例化组件转向函数组件时思想还没有完全转过来,还是用基于实例的思想考虑问题,忘记了函数有用完即销毁(特别是纯函数)这样的特点,导致在使用React Hook的时候可能会出一些问题。下面的内容就来记录一下,使用React Hook的新手可能会遇到的一些问题。


Hook使用原则

首先要强调一下Hook的使用原则,可以参考我之前写的文章:如何使用React Hook最后的部分,也可以参考一下官网。遵守Hook使用原则,可以帮助你在使用Hook时避免很多问题。


useState数据只能通过setState来修改

我们举一个代码的例子:

import React, {
    useState } from 'react'

// 子组件
function Child({
    userInfo }) {
   
    // render: 初始化 state
    // re-render: 只恢复初始化的 state 值,不会再重新设置新的值
    //            只能用 setName 修改
    const [ name, setName ] = useState(userInfo.name)

    return <div>
        <p>Child, props name: {
   userInfo.name}</p>
        <p>Child, state name: {
   name}</p>
    </div>
}


function App() {
   
    const [name, setName] = 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Einstellung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值