我想在每次加载页面时随机化一个array.我正在使用Nextjs,第一个问题是客户端和服务器不匹配,所以有人建议我需要将随机代码放在useEffect挂钩中,但我显然做错了……我想要一些帮助来了解如何修复我的代码.
export default function IndexPage() {
useEffect(()=>{
let randomizeArray = [...array].sort(() => 0.5 - Math.random());
let selectedRandomArray = randomizeArray.slice(0, 3);
},[])
return (
<div>
{selectedRandomArray.map((s, id) => (
<div key={id}>
<h2>{s.name}</h2>
</div>
))}
</div>
);
}
下面是Codesandbox中没有useEffect的示例.它可以工作,但我在控制台中获得了无与伦比的客户端/服务器