降档2.0.0发布

86 阅读3分钟

更好的可访问性,支持React Native和ReasonReact,更简单的API,改进的文档,新的示例网站,支持Flow和TypeScript,以及一个新的在线社区⚛️

我很兴奋地让全世界知道,downshift 2.0.0已经发布了!我很高兴。所以我现在就去做。

嘿,世界!downshift 2.0.0已经发布了!

Woo!那么你有什么值得期待的呢?让我们开始吧!(如果你还没有听说过downshift,请考虑阅读原始的发布帖子)。

主要在Michael Ball的领导下(还有其他几个人的帮助),我们收到了一些关于无障碍功能的改进,这些功能被嵌入到了downshift里。他还添加了一个新的 getMenuPropsprop getter(这对修复React Portals的一个bug也很有帮助)。这使得我们可以在你渲染的菜单中添加一些aria- 属性,这将有助于辅助技术使用你的增强型输入组件Woo!我还更新了许多例子,以使用更多语义上正确的元素。

实际上,我们在1.x版本中已经有了这个功能,但我想把这个功能放在博客文章中,因为从来没有一个真正的官方公告,而且我认为这很好!这主要是由于Eli的工作。这主要归功于Eli Perkins的工作!他们已经在他们的iOS应用中把downshift运到了生产中。

Screenshot of downshift code in React Native from Eli

其实我们也有一段时间了,但我想特别叫出来。感谢Nicola Molinari,他为downshift提供了官方的Reason绑定。所以你可以用downshift和ReasonML为任何你能想到的平台建立UI。太酷了!

一般来说,避免使用允许以两种方式做同一件事的API是个好主意。这只是在文档中列出的另一件事,而且你必须帮助人们理解其中的区别(如果有的话)。

直到downshift 2.0.0,我们有两个道具可以用于你的渲染道具renderchildren 。然后React发布了官方的上下文API,该API使用渲染道具,他们称之为children 。为了努力发展整个生态系统的一致性,我们已经放弃了名为render 的道具,现在只支持children

在downshift出来一段时间后,我开始意识到,人们错过了一些更有用和必要的道具(如 itemToString).我为此责备自己,最近重新组织了文档,使更多的相关信息更加明显。

它才刚刚开始(所以只有几个例子),但它已经在这里了,并准备好了贡献

在 codesandbox 上找到它并作出贡献(就在浏览器中!)。

示例网站的 codesandbox

主要由@stereobooster领导的一项伟大的努力已经导致了对TypeScript定义的改进。即使你不使用TypeScript,你也会从这些类型中受益,因为它们有助于确保我们不会在不知情的情况下发布破坏性的修改,如果你使用VSCode,你也会从这些类型的内置智能识别中受益。

另一个由@stereobooster做出的伟大贡献。我们现在从TypeScript定义中生成flow类型定义,所以如果你在Flow列车上,你在使用downshift时将获得更多的类型安全!

下移

Yeehaw!在那里加入我们,谈论downshift的现在和未来,并获得帮助/帮助他人。

如果没有我们所有开源贡献者的帮助,这个版本和这些惊人的功能是不可能实现的。我想特别感谢这些了不起的人。

感谢你们!