从 React Router v6 Navigate 检索状态

Tro*_*Pig 13 typescript reactjs react-router

我试图在导航到新路线后传递状态数据,打字稿告诉我

“状态”类型中不存在属性“电子邮件”。”

父功能组件:

navigate('/check-mail', { state: { email: "hello, I'm an email" } });

子功能组件:

const SentPasswordResetInstructions = () => {
    const location = useLocation();
    let { email } = location.state;
}
Run Code Online (Sandbox Code Playgroud)

我尝试创建一个像这样的界面: interface propState { email : string }

然后使用

useLocation<propState>();
Run Code Online (Sandbox Code Playgroud)

然而,这会引发额外的错误。我该如何解决 ??

Tro*_*Pig 11

刚刚解决了!创建界面:

interface propState {
    email: string;
} 
Run Code Online (Sandbox Code Playgroud)

然后使用

let { email } = location.state as propState;
Run Code Online (Sandbox Code Playgroud)

成功了!