reactjs 渲染条件不工作- Next.js 13 -动态路由

vsnjm48y  于 2023-04-05  发布在  React
关注(0)|答案(2)|浏览(136)

此页面由getStaticPaths和getStaticProps生成,具有[projectSlug].tsx,
问题是当状态改变时<h1>{counter}</h1>被修改,但是条件不受改变的影响。

const [counter, setCounter] = useState(0); 
<>
    <h1>{counter}</h1>

    {counter % 2 === 0 ? (
        <div> Hola 1 </div>
      ) : (
        <div> Hola 2 </div>
      )
    }
</>

我找不到任何解决办法。

3npbholx

3npbholx1#

有条件呈现的div元素不需要圆括号。删除它们,看看是否能解决这个问题。

9avjhtql

9avjhtql2#

我测试了代码,它运行了。重新启动计算机,重新测试。
你可以使用getStaticProps作为构建时useState的默认值吗?
如果你使用getStaticProps,那么当编译器编译它时,页面代码只会使用一次。
因此,如果getStaticProps的参数被更改,页面不会更改。
如果是这样,您需要将getStaticProps更改为getServerSideProps或获取参数slug或SWR等。

相关问题