React踩坑

1、图片引入路径

在react中img的src不能采用<img src="../../images/xxxxx.png" />这类方式直接使用相对路径,因为最后渲染时,这个路径实际上是用变量的样子代替,所以在标签里面用{}包裹。

正确写法:

import luohudongtai from "../../images/luohudongtai.png";

<img src= {luohudongtai} />

2、表单双向绑定

react实现了对Form.Item下的自定义组件自动注入value属性和onChange事件;子组件可以直接通过props调取使用

3、其他组件双向绑定

react的input、select等组件中没有数据双向绑定,可利用useState + value + onChange事件实现

4、子组件向父组件传值

1)通过父组件传递到子组件的方法向父组件传递值

5、useRef使用场景

1)如果我们只是想保存状态不影响视图更新,而且可以同步更新(useState是异步更新)&获取我们的状态,那么就使用 useRef(可以用全局的变量代替,注意命名)

2)用于操作Dom元素,取某个组件的原生事件,如主动调用input的click事件

变量是决定视图图层渲染的变量,请使用useState,其他用途useRef

6、Redux库

需要回调通知state (等同于回调参数) -> action( action是纯声明式的数据结构,只提供事件的所有要素,不提供逻辑)

需要根据回调处理 (等同于父级方法) -> reducer(是一个匹配函数,action的发送是全局的:所有的reducer都可以捕捉到并匹配与自己相关与否,相关就拿走action中 的要素进行逻辑处理,修改store中的状态,不相关就不对state做处理原样返回)

需要state (等同于总状态) -> store(负责存储状态并可以被react api回调,发布action)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React中使用useState是非常常见的,它让我们能够在函数组件中添加状态。然而,有一些常见的陷阱需要注意。下面是一些指南: 1. 错误使用数组解构:当使用数组解构语法来访问useState返回的数组时,确保你使用正确的索引位置。例如,如果你使用了多个useState,确保你在解构时使用正确的索引。否则,你可能会将状态值分配给错误的变量。 2. 对象与合并:当你使用对象作为useState的初始值时,记住useState并不会自动将新的对象与旧的对象合并。相反,它会直接替换整个对象。所以,如果你想保留旧对象的内容并仅更新其中的一部分,你需要手动进行合并。 3. 引用相等性:React使用引用相等性来检测状态的更改。这意味着如果你在更新状态时返回相同的引用,React不会触发重新渲染。因此,确保在更新状态时返回新的引用,而不是直接修改现有对象。 4. 异步更新:当在事件处理程序或异步函数中更新状态时,记得useState是异步的。这意味着多个setState调用可能会被合并在一起,而不是立即更新。如果你需要基于当前状态进行计算,请使用回调函数形式的setState,以便正确地捕获先前的状态。 5. 多个useState:当在一个组件中使用多个useState时,确保给每个useState调用一个有意义的名称。这样可以使代码更清晰,易于理解和维护。 6. 无限循环:在使用useState时,一定要小心避免进入无限循环。例如,如果你在组件的渲染阶段内调用了useState,可能会导致无限循环的情况。解决这个问题的方法是确保条件语句正确地包裹useState的调用。 希望这些指南能够帮助你避免在使用useState时遇到的常见问题!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值