大家好,我是Kason。经过“React18工作组”几个月的努力,v18终于在11月16日从Alpha版更新到了Beta版。本文将讲解:本次更新带来的变化对开发者的影响如何安装v18Betav18稳定版什么时候会带来变化经过和社区的不断沟通,Beta版本会有以下三个API变化:useSyncExternalStore将取代useMutableSource用于订阅外部源,见:#86discussion[1]用法类似如下:import{useSyncExternalStore}from'react';//基本用法,getSnapshot返回一个缓存值conststate=useSyncExternalStore(store.subscribe,store.getSnapshot);//根据data字段,使用inlinegetSnapshot返回缓存数据constselectedField=useSyncExternalStore(store.subscribe,()=>store.getSnapshot().selectedField);useId用于生成客户端和服务端之间的UniqueID,避免元素mismatchwhenSSRhydrates,见#111discussion[2]用法类似如下:复选框"name="react"id={id}/>>;);useInsertionEffect用于插入全局DOM节点,见#110讨论[3]useInsertionEffect的工作原理与useLayoutEffect类似,不同的是在回调执行时还不能访问ref中的DOM节点。您可以在此Hook中操作全局DOM节点(例如
