无法在 React Router DOM V6 中使用 useNavigate() 传递状态
2022-03-23
7828
嗨,我试图使用 useNavigate 将一个值传递给另一个页面,当按下按钮(按钮 B)时,它会调用该函数,该函数包含我从 useNavigate() 钩子中获得的导航函数,然后我使用 useLocation() 钩子来获取该值。
对我来说很奇怪,
console.log(score)
打印出正确的分数值,但导航函数无法传递该值,它只是在另一端显示 null。我想问为什么会这样?
以下是我的代码。
const ComponentName = () => {
const [score, setScore] = React.useState(0);
const handleNavigate = () => {
console.log(score);
navigate("/nextPage", {state: score})
}
return(
{someCondition
? <Button variant="contained"}>A</Button>
: <Button variant="contained" onClick={handleNavigate}>B</Button>}
)
}
提前致谢。
1个回答
显然,问题在于值 0。
也许有一个 if 语句,如果 0 则返回空状态...
一种解决方案是将分数作为对象传递,例如:
navigate('/nextPage', { state: { score } })
Gabriel Alcântara
2022-03-23