next.js 为什么console.log()记录了4次,结果却不同?[重复]

k3bvogb1  于 2022-12-18  发布在  其他
关注(0)|答案(1)|浏览(177)

此问题在此处已有答案

My React Component is rendering twice because of Strict Mode(5个答案)
2天前关闭.

export default function course() {
  const router = useRouter()
  slu= router.asPath.split("/")[2]
  console.log(slu)
  return (<design goes here>);
}

这里的问题是,当我使用这个方法时,它给出的输出是

我想要的是1731547675的值,但是它给了我[slug],我在这里做错了什么

camsedfj

camsedfj1#

它会打印多次,因为每次设置状态时都会刷新用户界面。将Console.log Package 到useEffect块中

const [slu, setslu] = useState(0);
useEffect(()=>
  setslu(router.asPath.split("/")[2])
}

希望这能有所帮助。注意:在创建状态时使用const而不是let

相关问题