首页 > 解决方案 > 如果我想在构建期间静态生成站点,如何在 Next.js 中设置状态?

问题描述

使用 Nextjs 创建一个基本的电子商务网站。

我正在使用假 API“fakestoreapi.com”来获取产品。现在我想添加addedToCart到每个产品(因为它不附带 API)并将其作为全局状态。据我所知,我在 React 中所做的是我使用了Context API.

ProductsContext.js文件中,我要做的是fetch输入数据useEffect并将其传递给childrenin <ProductsContext.Provider>。这就是我在React.

但是在 Nextjs 中,在构建网站时,我习惯于useStaticPropsProducts页面中显示fetch所有产品。我还在Details页面中使用它来获取匹配的单个产品dynamic route。但是我不能有一个全局状态。

如果我使用像 Nextjs 文档这样的全局状态,在_app.js文件中,它不会是静态生成的吗?我该怎么做呢?在 React 中,我完成了所有操作fetching,然后addedToCart在客户端将其添加并共享为全局状态。

标签: next.js

解决方案


推荐阅读