jho*_*rab 0 django reactjs redux gatsby next.js
我想制作一个电子商务网络应用程序,在后端我使用Django和 Django Rest Framework。我想在前端使用带有 axios 库的React、Redux 和 React-Router。我发现这是 React 的另外两个框架,即Nextjs 和 Gatsby。
现在,哪一个更适合我在Nextjs 和 Gatsby之间制作电子商务网络应用程序?
而且,是否有必要将Redux、React-Router 与 Nextjs 和 Gatsby 一起使用?
这一切都取决于,您希望在您的应用中拥有哪些与性能相关的重要功能?我假设您对这两个框架的工作方式有基本的了解。不过,我会尽量使它简短。
NextJs使用服务器端渲染(SSR),这有利于您的SEO和初始站点加载。它使用pages的概念,这意味着每个页面本身就是一个路由。所以你不需要单独实现 React-router。它有自己的路由机制,可以在这里找到。
Gatsby是一个静态站点生成器工具。静态站点生成器在构建时生成静态 HTML。它不使用服务器。Gatsby 使用 GraphQL,这是一种查询语言,如果您熟悉 SQL,它的工作方式非常相似。使用特殊语法,您可以在组件中描述所需的数据,然后将这些数据提供给您。
根本区别在于,NextJs 需要一个服务器才能运行。Gatsby 可以在没有任何服务器的情况下运行。Gatsby 在构建时只生成纯 HTML/CSS/JS,而 NextJs 在运行时生成 HTML/CSS/JS。因此,每次收到新请求时,它都会从服务器创建一个新的 HTML 页面。
是的,Redux实现在这些平台和其他状态管理中是一致的。尽管 Gatsby 需要一些插件才能开始使用。NextJs 设置类似于 create-react-app 的设置。这完全取决于您是否想使用 redux。它有一个特定的用例。如今,您有针对这些用例的部分解决方案,即 contextAPI、hook 等。但是对于许多其他用例,您仍然需要 redux,这些有限的解决方案将不起作用。
因此,如果您的后端使用 GraphQL,我建议您查看 Gatsby,它为前端提供了一些强大的解决方案。也就是说,如果您使用任何其他后端架构,我会建议您继续使用 NextJs。我自己在 NextJs 中实现了一个电子商务网站,我必须承认这对我来说是一次很棒的工作体验。
| 归档时间: |
|
| 查看次数: |
1256 次 |
| 最近记录: |