如何使用 NextJS 动态路由与要传递的 [文件夹] [页面] 和 [类别],使用 getServerSideProps 和/或 UseRouter?

问题描述

我有一个NextJS应用,一般基于静态页面,但需要添加动态路由,以避免页面的指数集。我是一名非程序员,但可以理解代码并通过一些搜索可以更新代码

我目前正在通过 JSON 文件传递​​数据,格式如下:

 "tag":"parent","categories":[

            { 
                "id": "44456","href":"/parent/food","displayName": "Parent Food","buttonName":"food" }]

我使用下面的方法将它传递给组件:

{Data.map(({ tag,categories },i) => (
      <>
      <GridBox>
      {categories?.map((cat) => (
              <Link key={cat.id} as={cat.href} href="/[tag]/[buttonName]">
                <LinkItem onChange={onChange}>
                  {cat.buttonName}                
                </LinkItem>
              </Link>
            ))}
      </GridBox>
      </>
    ))}

我已经设置了一个 [page].jsx 来获取这个,我可以通过让页面正常工作,只要它打开 [parent]/[page],但是对于类别,我无法将它传递给[page],将其传递给下面的查询

parent.getinitialProps = async ({ store,res }) => {
  await store.dispatch(
    getProducts(category,{
      order: 'asc',orderby: 'id',status: 'publish',})
  )

这里的类别是上面JSON中的categories.id [或cat.id]。

关于如何传递这个参数有什么想法吗?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...