导读 本文作者 François Zaninotto 是资深 React 开发者,在看到 React 官方开始推广服务器组件后,他对此表示担忧,因为这会让现有的很多写法都失效。

文章讨论了 React 和 Next.js 团队最近推广的服务器组件,这种新的构建 Web 应用程序的方式与大多数现有的 React 应用程序不符。

因此,作者提出了一个问题:这种变化是否像 Angular.js 转向 Angular 2 一样大?React 是否正在经历类似于 Angular.js 的阶段?

文章指出,React 的核心仍然是一个视图库,这一点没有改变:使用 React 服务器组件,您仍然可以使用 JSX 构建组件,并渲染作为 props 传递的动态内容。但是,除此之外,服务器组件中的所有其他内容都发生了变化。数据获取不再依赖于 useEffect 或 react-query;相反,开发者应该在异步组件中使用 fetch。

作者认为,React 团队对 fetch 函数进行了增强,以提供自动请求去重。这是必要的,因为如果您需要在组件树的更深处访问获取的数据,则不能将其放置在 React Context 中,因为 useContext 在服务器组件中被禁用。

因此,在组件树的不同位置访问相同获取的数据的推荐方法是重新获取它,并依赖于 React 进行去重。此 fetch 函数还默认缓存数据,而不管响应缓存标头如何。

原文来自:https://www.oschina.net/news/249416/react-angularjs-moment

本文地址:https://www.linuxprobe.com/rzzjlajdskm.html编辑:王婷,审核员:张宏伟

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/