react changelog
small pang
字数: 6721阅读:评论:0喜欢: 0

PS:本文翻译自React-CHANGELOG.md,其中部分自觉翻译不好的部分内容依然保持原文语境,以免造成误导!

17.0.2 (2021年3月22)

React DOM

17.0.1 (2020年十月22)

React DOM

17.0.0 (October 20, 2020)

React

React DOM

React DOM Server

React Test Renderer

Concurrent Mode (Experimental)

16.14.0 (October 14, 2020)

16.13.1 (March 19, 2020)

React DOM

  • 修复传统模式“挂起”中未触发效果清除功能的错误。 这仅影响使用Suspense以传统模式进行数据获取的用户,这在技术上不受支持。(@acdlite in #18238)
  • 还原在类渲染生命周期内发生的跨组件更新警告(componentWillReceiveProps,shouldComponentUpdate等)(@gaearon in #18330)

16.13.0 (February 26, 2020)

React

React DOM

Concurrent Mode (Experimental)

16.12.0 (November 14, 2019)

React DOM

  • 修复了不会在多根应用程序中触发的被动效果(useEffect)(@acdlite in #17347)
  • React Is Fix惰性和备注类型被视为元素而非组件 (@bvaughn in #17278)

16.11.0 (October 22, 2019)

React DOM

  • 修复mouseenter处理程序无法在嵌套的React容器中触发两次的问题。(@yuanoook in #16928)
  • 删除unusable_createRoot和unstable_createSyncRoot实验性API(这些可在实验频道中以createRoot和createSyncRoot的形式获得)(@acdlite in #17088)

16.10.2 (October 3, 2019)

React DOM

  • 通过恢复事件插件提取器中参数的顺序来修复react-native-web中的回归 (@necolas in #16978)

16.10.1 (September 28, 2019)

React DOM

  • 通过允许水化过程中的悬念不匹配静默进行来修复Next.js应用程序中的回归(@sebmarkbage in #16943)

16.10.0 (September 27, 2019)

React DOM

  • 修复未记录挂钩更新的情况。(@sebmarkbage in #16359)
  • Fix heuristic for determining when to hydrate, so we don't incorrectly hydrate during an update. (@sebmarkbage in #16739)
  • 卸载期间清除其他光纤字段以节省内存。(@trueadm in #16807)
  • 修复Firefox中必填文本字段的错误。(@halvves in #16578)
  • 如果可用,请首选Object.is而不是嵌入式polyfill。(@ku8ar in #16212)
  • 修复混合挂起和错误处理时的错误。(@acdlite in #16801)

Scheduler (Experimental)

  • 通过将其内部数据结构切换为最小二进制堆来提高队列性能。(@acdlite in #16245)
  • 使用间隔较短的postMessage循环,而不是尝试使用requestAnimationFrame对齐帧边界。(@acdlite in #16214)

useSubscription

  • 当发生突变并且先前的更新仍在进行中时,避免撕裂问题。(@bvaughn in #16623)

16.9.0 (August 8, 2019)

React

  • 添加<React.Profiler> API,以便以编程方式收集性能指标 (@bvaughn in #15172)
  • 删除unstable_ConcurrentMode,改为使用unstable_createRoot (@acdlite in #15532)

React DOM

React DOM Server

  • 修复camelCase自定义CSS属性名称的错误输出 (@bedakb in #16167)

React Test Utilities and Test Renderer

ESLint Plugin: React Hooks

  • Report Hook calls at the top level as a violation.(gaearon in #16455)

16.8.6 (March 27, 2019)

React DOM

  • Fix an incorrect bailout in useReducer() (@acdlite in #15124)
  • 修复在Safari DevTools中的 iframe 的警告提示 (@renanvalentin in #15099)
  • 如果contextType设置为Context.Consumer而不是Context,则发出警告 (@aweary in #14831)
  • 如果contextType设置为无效值,则发出警告 (@gaearon in #15142)

16.8.5 (March 22, 2019)

React DOM

  • 不要将第一个选项设置为具有size属性的select标记中所选择的 (@kulek1 in #14242)
  • 改进 useEffect(async () => ...) 警告消息 (@gaearon in #15118)
  • 改善有时由于重复的React而导致的错误消息 (@jaredpalmer in #15139)

React DOM Server

  • 改进服务器渲染时的useLayoutEffect警告消息 (@gaearon in #15158)

React Shallow Renderer

  • 修复 shallow renderer 中的setState以与Hooks一起使用的问题 (@gaearon in #15120)
  • 修复 shallow renderer 以支持React.memo (@aweary in #14816)
  • 修复 shallow rendere r以支持forwardRef内的Hooks(@eps1lon in #15100)

16.8.4 (March 5, 2019)

React DOM and other renderers

  • 修复了在检查使用useContext挂钩的组件时导致DevTools运行出错的问题 (@bvaughn in #14940)

16.8.3 (February 21, 2019)

React DOM

  • 修复了在umd构建中,input输入行为不正确的bug (@gaearon in #14914)
  • 修复了导致渲染阶段更新被丢弃的错误 (@gaearon in #14852)

React DOM Server

  • 在销毁流而未完成时取消展开上下文堆栈,以防止在后续渲染过程中出现不正确的值 (@overlookmotel in #14706)

ESLint Plugin for React Hooks

16.8.2 (2月14日, 2019)

React DOM

  • 修复在useEffect中被忽略的ReactDOM.render (@gaearon in #14799)
  • 修复卸载空portals时的崩溃 (@gaearon in #14820)
  • 修复useImperativeHandle可以在未指定dep时正常工作的问题 (@gaearon in #14801)
  • 修复crossOrigin属性可在SVG图像元素中使用 (@aweary in #14832)
  • 修复 Suspense 和 Hooks一起使用时的误报警示 (@gaearon in #14821)

React Test Utils and React Test Renderer

16.8.1 (2月6日, 2019)

React DOM and React Test Renderer

  • 修复了与旧版本的React一起使用时的崩溃问题 (@bvaughn in #14770)

React Test Utils

16.8.0 (February 6, 2019)

React

  • 添加hooks:一种无需编写类即可使用状态和其他React功能的方法。 (@acdlite et al. in #13968)
  • 改进useReducer Hook惰性初始化API (@acdlite in #14723)

React DOM

  • 避免使用useState和useReducer Hooks的相同值进行渲染 (@acdlite in #14569)
  • 使用Object.is算法比较useState和useReducer值 (@Jessidhia in #14752)
  • 不要比较传递给useEffect / useMemo / useCallback Hooks的第一个参数 (@acdlite in #14594)
  • 支持传递给React.lazy()的同步对象 (@gaearon in #14626)
  • 在严格模式下(仅限DEV)使用Hooks渲染组件两次,以匹配类行为(@gaearon in #14654)
  • 在开发环境下,如Hook顺序不匹配给予警告提示 (@threepointone in #14585 and @acdlite in #14591)
  • Effect的清理功能必须返回类型为undefined或函数。不允许使用其他所有值,包括null(@acdlite in #14119)

React Test Renderer and Test Utils

  • 在浅渲染中支持hooks (@trueadm in #14567)
  • 在有Shallow Renderer的getDerivedStateFromProps存在的情况下,应修复shouldComponentUpdate中的错误状态(@chenesan in #14613)
  • 添加ReactTestRenderer.act() 和ReactTestUtils.act() 进行批处理更新,以使测试更匹配实际行为 (@threepointone in #14744)

ESLint Plugin: React Hooks

16.7.0 (December 19, 2018)

React DOM

  • 修复React.lazy对于大量延迟加载的组件的性能 (@acdlite in #14429)
  • 清除unmount上的字段,以避免内存泄漏 (@trueadm in #14276)
  • 混合react-dom/server@16.6和react @ <16.6时,修复带有SSR和上下文的错误 (@gaearon in #14291)
  • 修复性能分析模式下的性能下降 (@bvaughn in #14383)

Scheduler (Experimental)

16.6.3 (November 12, 2018)

React DOM

React DOM Server

  • 修复renderToNodeStream()调用期间不正确的上下文共享 (@sebmarkbage in #14182)
  • 针对上下文api的不正确用法,增加警告提示 (@trueadm in #14033)

16.6.2 (November 12, 2018)

  • 此发行版以损坏状态发布,应该跳过。

16.6.1 (November 6, 2018)

React DOM

  • Fallback should not remount every time a promise resolves. (@acdlite in #14083)
  • 修复即使所有内容完成加载后Suspense仍显示回退的错误. (@acdlite in #14083)
  • 修复了Suspense在IE11中完成加载后的崩溃 (@sophiebits in #14126)
  • 修复惰性组件的生命周期方法中未解决的默认属性. (@gaearon in #14112)
  • 修复从完成阶段抛出的错误中恢复时的错误. (@gaearon in #14104)

Scheduler(Experimental)

16.6.0 (October 23, 2018)

React

React DOM

  • 添加contextType作为更符合人体工程学的方式从类中订阅上下文. (@bvaughn in #13728)
  • 添加getDerivedStateFromError生命周期方法以捕获将来的异步服务器端渲染器中的错误.(@bvaughn in #13746)
  • 当使用<Context>代替<Context.Consumer>时发出警告. (@trueadm in #13829)
  • 修复iOS Safari上的灰色叠加层 (@philipp-spiess in #13778)
  • 修复开发中覆盖window.event引起bug (@sergei-startsev in #13697)

React DOM Server

Scheduler (Experimental)

16.5.2 (September 18, 2018)

React DOM

Schedule (Experimental)

  • 将 "tracking" API 更名为 "tracing" (@bvaughn in #13641)
  • 添加UMD生产和概要分析入口点 (@bvaughn in #13642)
  • 重构时间表,以消除某些反应,并在延迟更新超时时提高性能 (@acdlite in #13582)

16.5.1 (September 13, 2018)

React

React DOM

  • 修复React Native Web使用的不稳定导出中的回归 (@aweary in #13598)
  • 修复了组件定义名为isReactComponent的方法时发生的崩溃。 (@gaearon in #13608)
  • 修复了在打印警告时IE9中开发模式下的崩溃问题。(@link-alex in #13620)
  • 在运行带有时间表/跟踪的react-dom / profiling时,提供更好的错误消息。 (@bvaughn in #13605)
  • 如果ForwardRef组件定义了displayName,请在警告中使用它。 (@probablyup in #13615)

Schedule (Experimental)

  • 在schedule / tracking-profiling处添加一个单独的性能分析入口点。 (@bvaughn in #13605)

16.5.0 (September 5, 2018)

React

  • 如果React.forwardRef渲染函数没有完全采用两个参数,则添加一个警告提示(@bvaughn in #13168)
  • 改进错误地将元素传参给createElement方法时的报错提示 (@DCtheTall in #13131)
  • Don't call profiler onRender until after mutations (@bvaughn in #13572)

React DOM

  • 增加对React DevTools Profiler的支持 (@bvaughn in #13058)
  • 添加react-dom / profiling入口点别名以在生产中进行profiling (@bvaughn in #13570)
  • 为支持的浏览器增加onAuxClick事件 (@jquense in #11571)
  • 将movementX 和 movementY 事件添加到鼠标事件(@jasonwilliams in #9018)
  • 将tangentialPressure和twist域添加到指针事件 (@motiz88 in #13374)
  • 选择事件处理中至少支持iframe(浏览嵌套上下文) (@acusti in #12037)
  • 支持将布尔值传递给可聚焦的svg元素 (@gaearon in #13339)
  • Ignore <noscript> on the client when hydrating (@Ephem in #13537)
  • 修复gridArea被视为无单位CSS属性的问题 (@mgol in #13550)
  • 在IE11上输入韩文时,修正了compositionend事件中的错误数据 (@crux153 in #12563)
  • 修复在<option>标记中使用动态子级元素时发生的崩溃 (@Slowyn in #13261, @gaearon in #13465)
  • 修复选中的属性最初未在输入上设置的问题 (@dilidili in #13114)
  • Fix hydration of dangerouslySetInnerHTML when __html is not a string (@gaearon in #13353)
  • 修复有关缺少受控的onChange的警告,从而也会触发虚假值的警告 (@nicolevy in #12628)
  • 修复提交和重置按钮获得空标签的问题(@ellsclytn in #12780)
  • 修复onSelect事件在拖放后不会触发的问题 (@gaearon in #13422)
  • 修复onClick事件在iOS门户网站上无法正常运行的问题 (@aweary in #11927)
  • 修复了上千个根节点重绘的性能问题(@gaearon in #13335)
  • 修复了性能回归问题,该问题在某些情况下也导致onChange无法触发 (@gaearon in #13423)
  • 妥善优化了更多的边界错误 (@gaearon in #13237 and @acdlite in #13269)
  • 不要在开发环境中对合成事件使用代理 (@gaearon in #12171)
  • 当“ false”或“ true”是布尔型DOM属性的值时发出警告 (@motiz88 in #13372)
  • 在this.state初始化为props时发出警告 (@veekas in #11658)
  • Don't compare style on hydration in IE due to noisy false positives (@mgol in #13534)
  • 在组件堆栈中包含StrictMode (@gaearon in #13240)
  • 不要覆盖ie中的 window.event (@ConradIrwin in #11696)
  • 改善folder / index.js命名约定的组件堆栈 (@gaearon in #12059)
  • 改进使用不带初始化状态的getDerivedStateFromProps时的警告 (@flxwu in #13317)
  • 改进有关无效文本区域使用的警告 (@raunofreiberg in #13361)
  • 更一致地处理无效的符号和函数值 (@raunofreiberg in #13362 and #13389)
  • 允许Electron <webview>标签没有警告 (@philipp-spiess in #13301)
  • 如果调用了e.preventDefault(),请不要显示未捕获的错误附录 (@gaearon in #13384)
  • 警告渲染渲染器 (@gaearon in #13312)
  • 从警告中删除与旧方法无关的建议 (@zx6658 in #13169)
  • 从计划中删除unstable_deferredUpdates以使用unstable_scheduleWork (@gaearon in #13488)
  • 修复了更新花费太长时间时不稳定的异步模式不会执行不必要的工作的情况 (@acdlite in #13503)

React Dom Server

  • 修复了在选定的<option>中使用危险地设置InnerHtml时空子项导致的崩溃 (@mridgway in #13078)
  • 修复了setTimeout丢失时的崩溃问题 (@dustinsoftware in #13088)

React Test Renderer and Test Utils

  • 在功能组件中修复此问题,以使浅渲染器无法定义 (@koba04 in #13144)
  • 弃用Jest特有的ReactTestUtils.mockComponent() 帮助器 (@bvaughn in #13193)
  • 警告测试渲染器中的ReactDOM.createPortal使用情况 (@bvaughn in #12895)
  • 改进令人困惑的错误提示 (@gaearon in #13351)

React ART

Schedule (Experimental)

  • 用于在浏览器环境中协同安排工作的新软件包。 它由React内部使用,但其公共API尚未最终确定(@flarnie in#12624

16.4.2 (August 1, 2018)

React Dom Server

16.4.1 (June 13, 2018)

React

  • 你现在可以将propTypes分配给React.ForwardRef.返回的组件。 (@bvaughn in #12911)

React DOM

  • 修复了输入类型从其他类型变为文本类型而导致的崩溃问题 (@spirosikmd in #12135)
  • 修复了当焦点恢复到svg元素上,在ie11中导致的崩溃问题。(@ThaddeusJiang in #12996)
  • 修复了在某些情况下不更新范围输入的问题。(@Illu in #12939)
  • 修复了在火狐浏览器中触发不必要的input输入验证问题。(@nhunzaker in #12925)
  • 修复了在ie9中,input的onchange事件中获取了不正确的event.target值的问题 (@nhunzaker in #12976)
  • 修复了从组件中返回一个空<React.Fragment />时发生的误报错误。 (@philipp-spiess in #12966)

React Dom Server

React Test Renderer

  • 在测试渲染器遍历api中允许多个根子级。(@gaearon in #13017)
  • Fix getDerivedStateFromProps() in the shallow renderer to not discard the pending state. (@fatfisz in #13030)

16.4.0 (May 23, 2018)

React

  • 增加一个新的实验性组件React.unstable_Profiler,用以测试性能(@bvaughn in #12745

React DOM

  • 添加对指针事件规范的支持(@philipp-spiess in #12507
  • 不管重新渲染的原因如何,均正确调用getDerivedStateFromProps()(@acdlite in #12600 and #12802
  • 修复了在某些情况下阻止上下文通信的bug(@gaearon in #12708
  • 当在更深层的setState()上使用formwardRef时,修复了组件的重新渲染(@gaearon in #12690
  • 修复了一些从自定义元素节点中错误删除的属性(@airamrguez in #12702)
  • Fix context providers to not bail out on children if there's a legacy context provider above. (@gaearon in #12586)
  • 针对上下文提供组件,增加指定propTypes的能力 (@nicolevy in #12658)
  • 修复在严格模式中使用react-lifecycles-compat产生的误报警告 (@bvaughn in #12644)
  • forwardRef()渲染函数具有propTypesdefaultProps属性时,给予警告(@bvaughn in #12644)
  • 优化forwardRef() 和上下文使用者在组件堆栈中的展示方式 (@sophiebits in #12777)
  • 修改内部事件名。该事件名可能会破坏以不受支持的方式依赖react内部的第三方软件包 (@philipp-spiess in #12629)

React Test Renderer

  • 修复getDerivedStateFromProps()的支持,以适配新的react dom行为(@koba04 in #12676)
  • Fix a testInstance.parent crash when the parent is a fragment or another special node. (@gaearon in #12813)
  • 现在,可以通过测试渲染器遍历方法发现forwardRef()组件(@gaearon in #12725)
  • 浅渲染器现在忽略返回null或未定义的setState()更新器(@koba04in#12756)

React ART

  • Fix reading context provided from the tree managed by React DOM. (@acdlite in #12779)

React Call Return (Experimental)

  • 该实验已删除,因为它会影响捆绑包的大小,并且API不够好。 将来可能还会以其他形式重新出现 (@gaearon in #12820)

React Reconciler (Experimental)

16.3.3 (August 1, 2018)

React Dom Server

16.3.2 (Aprial 16, 2018)

React

  • 当传递给React.cloneElement方法的值是null或者undefined时,优化错误提示信息(@nicolevy in #12534)

React DOM

  • 修复因使用<StrictMode>模式在ie中导致的崩溃。 (@bvaughn in #12546)
  • 在用户时序测量中,为新组建类型修复标签。(@bvaughn in #12609)
  • 改进有关组件类型错误的警告信息。(@nicolevy in #12533)
  • 提升开发模式下的总体性能。(@gaearon in #12537)
  • 通过嵌套来提升实验性api unstable_observedBits的性能。(@gaearon in #12543)

React Test Renderer