Reactv16.7:没错,我们跳票了

177

菜鸟翻译,轻喷(not倾盆)

我们最新发布的版本修复了React.lazy的一些bug。尽管没有API的改变,我们还是发布了新版本,但不是补丁,而是次要版本 。(注:本菜鸟理解的是,补丁版本是v16.6.1,而次要版本是指v16.7)


为什么是次要版本而不是补丁版本?

React版本号有特殊语义。通常,我们会用补丁版本来修补bug(v16.6.x),次要版本来发布新特性(非破坏性的v16.x,破坏性的估计就是v17)。但是,我们保留了发布次要版本的选项,即时没有包含新特性。这样做是为了保留有极低可能产生冲突的变更补丁。补丁是最重要的版本,因为它们有时包含关键的错误修正。这意味着补丁版本具有更高的可靠性。修补程序引入其他错误是最让人难以接受的,因为如果人们开始不信任补丁,当出现关键错误是,就会影响我们修复能力,比如,修复安全漏洞。
我们从不打算发布错误。React在稳定性方面享有盛誉,而我们也愿意保持下去。我们会在每个版本发布之前进行全面的测试。这包括单元测试,生成(模糊)测试,集成测试以及数万个组件的内部测试。然而,我们也会犯错。这就是为什么我们发布次要版本。我们的原则是如果包含较大且不一般的变化,我们会发布次要版本,即时它的外在行为并没有变。在改变unstable_前缀API时,我们同样会发布次要版本。

我可以用Hooks了吗?

现在还不行,但是很快了。
在React Conf,我们宣布,v16.7将首次添加Hooks。我们错了。我们不应该把一个未发布的特性绑定给一个特定的版本号。我们以后会避免再次发生。
尽管v16.7没有包含Hooks,请不要对我们的Hooks有任何怀疑,我们的计划从来没有改变。

  • 采用一些Hooks提案(根据反馈进行了微小的计划变更)。
  • 实现被合并到React repo中(在功能标志后面)。
  • 我们目前正处于测试阶段,您可以在几个月内获得正式发布版本。

我们听到很多人想要在他们的应用中开始使用Hooks,我们也迫不及待了!但是Hooks改变了我们写组件的方式,我们需要额外的时间来保证细节上的准确。为了能够广泛使用我们准备的这个激动人心的新功能,希望您能有足够的耐心。
在我们之前的帖子中详细了解我们的路线图