react框架允许开发者直接在JavaScript代码中编写HTML和CSS。这种方式被称为“声明式编程”,因为它让开发者能够明确地描述他们想要的界面外观,它专注于视图层,使得开发者能够更高效地构建大型应用。以下是对React框架的详细介绍。
React介绍
为全新的 JSX 转换器添加 react/jsx-runtime 和 react/jsx-dev-runtime。
根据原生框架构建组件调用栈。
可以在 context 中设置 displayName 以改善调用栈信息。
防止 ‘use strict’ 从 UMD 的 bundles 中泄露。
停止使用 fb.me 进行重定向。
React DOM
将事件委托从 document 切换为 root。
在运行下一个副作用前,请清理所有副作用。
异步运行 useEffect 清理函数。
使用浏览器的 focusin 和 focusout 替换 onFocus 和 onBlur 的底层实现。
将所有 Capture 事件都使用浏览器的捕获阶段实现。
禁止在 onScroll 事件时冒泡。
如果 forwardRef 或 memo 组件的返回值为 undefined,则抛出异常。
移除事件池。
移除 React Native Web 不需要的内部组件。
当挂载 root 时,附加所有已知的事件监听器。
在 Dev 模式下,禁用第二次渲染过程中的 console。
弃用为记录且具有误导性的 ReactTestUtils.SimulateNative API。
重命名内部使用的私有字段。
不在开发环境调用 User Timing API。
在严格模式下重复渲染期间禁用 console。
在严格模式下,二次渲染组件也不使用 Hook。
允许在生命周期函数中调用 ReactDOM.flushSync(但会发出警告)。
将 code 属性添加到键盘事件对象中。
为 video 元素添加 disableRemotePlayback 属性。
为 input 元素添加 enterKeyHint 属性。
当没有给 《Context.Provider》 提供任何值时,会发出警告。
如果 forwardRef 或 memo 组件的返回值为 undefined,则抛出警告。
为无效更新改进错误信息。
从调用栈信息中忽略 forwardRef 和 memo。
在受控输入与非受控输入间切换时,改善错误消息。
保持 onTouchStart、onTouchMove 和 onWheel 默认为 passive。
修复在 development 模式下 iframe 关闭时,setState 挂起的问题。
使用 defaultProps 修复拉架子组件在渲染时的问题。
修复当 dangerouslySetInnerHTML 为 undefined 时,误报警告的问题。
使用非标准的 require 实现来修复 Test Utils。
修复 onBeforeInput 报告错误的 event.type。
修复 Firefox 中 event.relatedTarget 输出为 undefined 的问题。
修复 IE11 中 “unspecified error” 的问题。
修复 shadow root 中的渲染问题。
使用事件捕获修复 movementX/Y polyfill 的问题。
使用委托处理 onSubmit 和 onReset 事件。
提高内存使用率。