作为一名使用 React 的职业人士,我喜欢了解最新的 React 新闻。因此,我会保存大量的链接。 让我来分享我最近的一些发现。大部分内容是关于 React 的,但也有一些其他内容。
- React 18 的计划 - React 团队的一群人发布了这篇文章,让我们提前了解即将推出的功能。 Alpha 版本已发布,Beta 版本将在几个月后发布。我认为 Cassidy 的文章 对我们可能关心的内容解释得最为清晰。
- React Query - 看起来是一个非常强大的工具……“React 缺少的数据获取库”。 不知道我怎么会错过它,因为它甚至比 Apollo 还要受欢迎。我一直很高兴使用 Apollo(作为用户,我最大的痛苦是错误报告不清楚),如果你是 GraphQL 的重度用户,它似乎是正确选择,但 React Query 的文档清晰,DevTools 也很不错,看起来非常棒。
- 使用 RTK Query 简化 Redux 中的数据获取 - Matt Stobbs 研究了 RTK Query,它似乎是 Apollo / React Query 的另一种替代方案。
看看您现在正在使用的应用程序中的 Redux store。 如果它像我的 store 一样,你会看到来自后端的数据(充当缓存)和 UI 状态(在页面重新加载时不会持久化的数据)的混合。 这两种类型的数据被视为相同,最终使两者都变得更加复杂。
- 即时翻译和自我编写的代码 - Dan Laush 研究了一系列现代选项,用于条件加载和延迟加载 JavaScript。 这些东西可能比它应该的要复杂,但它正在变得越来越好。 React 18 中的 Suspense 会有所帮助。 顶层的
await
也很有帮助。 在需要的时候加载你需要的内容。 Astro 在这方面做得很好。 说到这些,Nicholas C. Zakas 的 “JavaScript 中的延迟加载属性模式” 是一篇很棒的文章,介绍了一种巧妙的模式,用于定义仅在需要时才执行昂贵操作的对象,然后在被请求时使用结果重新定义其属性。 - 将 JSX 引入模板字面量 - 人们认为 JSX 是一个 React 东西,这很公平,但它实际上是一个单独的东西,可以在其他框架中使用(当然 Preact 和 甚至 Vue 也是)。 我们在之前的视频中研究了如何在 没有框架的情况下 使用它。 Andrea Giammarchi 在这里深入探讨了它如何与已经非常人性化的 模板字面量 一起使用。
“您可以在 CodePen 通过 uhtml、uland、ube 或 lit-html 来查看它的运行效果。”
- React Hooks:复合组件 - 向 Kent Dodds 致敬! 我们已经开始在 CodePen 的模式库中使用它。 它在保持组件更加合并而不是一个庞大的类似命名子组件树,并使用手动编写的状态共享方面做得很好。
- JavaScript:this 的含义是什么? - Jake Archibald 发布了关于
this
的规范文章。 - 人类可读的 JavaScript:两位专家的故事 - Laurie Barth 比较了完成相同任务但可读性不同的代码示例。 并非总是只有一个正确答案
“…… 但是,当您查看功能上相同的代码时,您的决定应该基于人 - 人如何理解代码。”
- petite-vue - jQuery 很棒,而且有很多完美的 jQuery 代码,但 jQuery 今天会被轻视的原因在于它产生的代码库很混乱。 有些教训我们已经吸取了。 虽然内联 JavaScript 处理程序曾经被严重鄙视,但几乎所有流行的 JavaScript 库现在都将它们带回来了。 但假设类似 React 的东西对你来说太繁重了 - 那么轻量级的页面交互式内容的 jQuery 是什么? Vue 在某种程度上介于两者之间,它既不是一个“大型框架”。 Alpine.js 可能是主要的参与者。 但 Vue 又出现了,它用 Alpine 的版本挑战了 Alpine,这个版本非常小,而且功能也差不多。