我尝试在react-router-dom版本6中使用useNavigate将变量id
发送到另一个页面。以下是我正在尝试的:
const handleSelect = (id: number) => {
navigate('/Players', {
userId: id,
});
};
但是我得到了错误:Argument of type '{ userId: number; }' is not assignable to parameter of type 'NavigateOptions'. Object literal may only specify known properties, and 'userId' does not exist in type 'NavigateOptions'.ts(2345)
我找不到任何关于NavigateOptions的有用信息,也找不到它要找的类型。如果我删除参数userId
,那么我就可以导航到Player
页面。这只是导致问题的参数。关于这个问题我能做些什么?有人能提供一些这方面的文件吗?
NavigateOptions类型的参数示例是什么?
3条答案
按热度按时间oaxa6hgo1#
你的意思是在导航中添加状态吗?原件:
变更为(带状态):
然后您可以在
Players
页面中引用props.location.state.userId
。bsxbgnwa2#
在玩家页面中,“props.location.state.userId”将不再起作用。在播放器页面中执行以下操作:
aamkag613#
将用户重定向到
/Players
页面时,需要在options
的state
属性中发送元数据:然后,您可以通过在Players页面中使用
location.state.userId
访问状态。但是对于Typescript,您可能需要强制转换
state
: