如何使用全局存储实例在NextJ(getStaticProps / getStaticPaths)中动态获取数据?

时间:2020-09-30 23:11:20

标签: javascript reactjs next.js

我是Nextjs的新手,现在我想知道什么是最好的方法,以便从那里转到动态页面并getStaticProps

在产品页面上,每个产品片段都有这些按钮。使用者点击按钮后,应将其带到产品详细信息页面/pages/products/[id].js,传递部分id的点击产品,以了解使用{{1 }}。

我不知道要怎么做才能使用[id].js通过此getStaticProps

为了在我的数据库中找到此嵌套产品,我在id中有两个帮助程序实例:

redux

productsReducer.js

因此,当我单击activeCatalog: "some catalog"中的此信息按钮时,我会将产品activeCategory: "some category related to the active catalog"传递给Products.js,那么从数据库id进行销售将非常容易,即:redux

如何访问fetch内部的商店,以便可以将这3个实例从我的catalog[store.activeCatalog][store.activeCategory][idFromProduct]传递到我的getInitialProps请求中?

Products.js

productsReducer

这是我使用客户端http请求的方式,例如:

http-产品详细信息页面

const IconPanel = ({path}) => (
  <Icons>
    <Link href={`/product/${encodeURIComponent(path)}`}>
    <IconInner>
      <FontAwesomeIcon icon={faPlusCircle} size="lg" />
      <IconSpan>Info</IconSpan>
    </IconInner>
    </Link>
    <FontAwesomeIcon icon={faShoppingBag} size="2x" />
  </Icons>
);

如何将动态[pid].jsimport React, {useEffect} from "react"; import {useStore} from 'react-redux' const ProductDetails = () => { const store = useStore(state => state.products) useEffect(() => { fetch(`https://meli-345234234.firebaseio.com/catalog/${store.activeCatalog}/${store.activeCatagory}/${store.activeProduct}.json`) .then(res => res.json()) .then(data => console.log(data)) }, []) return <div>Product Detail!</div>; }; 一起放置

@ URL

getStaticProps / getStaticPaths

0 个答案:

没有答案