此页面由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>
)
}
</>
我找不到任何解决办法。
2条答案
按热度按时间3npbholx1#
有条件呈现的div元素不需要圆括号。删除它们,看看是否能解决这个问题。
9avjhtql2#
我测试了代码,它运行了。重新启动计算机,重新测试。
你可以使用getStaticProps作为构建时useState的默认值吗?
如果你使用getStaticProps,那么当编译器编译它时,页面代码只会使用一次。
因此,如果getStaticProps的参数被更改,页面不会更改。
如果是这样,您需要将getStaticProps更改为getServerSideProps或获取参数slug或SWR等。