关于React Hook(18)
创始人
2024-05-31 06:08:38
  1. useState():👉详情 (必须“有条件地调用”;注意避免冗余状态的产生)
    关于useState的两种使用方式的区别:👉详情
    在这里插入图片描述
    关于batch机制:有条件地调用一些状态的set方法时,会等到这些状态的set方法都执行完后,再重新渲染。
    数组的更新:👉详情
    在这里插入图片描述
    对象的更新:👉详情
    在这里插入图片描述
    react中状态为对象和数组时都是只读的,不可以直接修改其值,即应当避免“突变”的产生。(react中只能对刚刚创建的对象进行“突变”,当其成为一个状态时,则需要在修改其前为其创建一个副本。)
    解决方法一:先为其创建副本,再对副本进行修改,最后再使用set方法将副本的值设置为对象或者数组的值。
    解决方法二:直接在set方法内对其进行解构,直接把新值赋给对应改变的值。(对于直接修改数组的浅拷贝后得到的新数组,由于其和原数组指向同一个对象,故也是一种“突变”。)
    参考资料:👉详情

  2. createContext():👉详情 (用于创建上下文)

  3. useContext():👉详情 (用于读取上下文)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    示例参考:👉详情

  4. useRef():👉详情 (应用场景:👉详情)
    在这里插入图片描述
    在这里插入图片描述
    注意事项的第三点的原因即为注意事项的第二点。

  5. useReducer():👉详情(一般用于需要由用户“主动”更新的状态)
    关于useReducer的两种不同的使用方法:👉详情
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  6. useEffect():副作用通常属于事件处理程序。

  7. 啊这:

  8. 啊这:

  9. 啊这:

  10. 啊这:

相关内容

热门资讯

8月18日南方中证电池主题ET... 数据显示,8月18日,南方中证电池主题ETF(159147)遭净赎回135.64万元,位居当日股票E...
华夏中证全指食品ETF(159... 数据显示,8月18日,华夏中证全指食品ETF(159151)遭净赎回451.53万元,位居当日股票E...
新锦动力:8月18日获融资买入... 8月18日,新锦动力涨1.25%,成交额1.60亿元。两融数据显示,当日新锦动力获融资买入额940....
云图控股:8月18日获融资买入... 8月18日,云图控股涨2.16%,成交额3.03亿元。两融数据显示,当日云图控股获融资买入额2512...
中海达:8月18日获融资买入7... 8月18日,中海达跌1.24%,成交额5126.47万元。两融数据显示,当日中海达获融资买入额760...