属性 'detail' 类型“{}”不存在.ts(2339)

Property 'detail' does not exist on type '{}'.ts(2339)

我在下面的代码中的标题中收到错误,我该如何解决?


import { useHistory } from "react-router-dom";

let history = useHistory();
    history.push({
        pathname: '/otherPage',
        state: { detail: id }
    });

//otherPage
import React, { useEffect } from 'react';
import { useLocation } from "react-router-dom";

const location = useLocation();
    useEffect(() => {
        console.log(location.state.detail);
    }, [location]);

欢迎使用 Whosebug。

您的代码存在问题,位置的 state 部分是用户定义的。因此,假设您知道在该州填充了什么,您需要做的是指定您拥有的州类型:

interface State {
  detail: string;
}

const location = useLocation<State>();
useEffect(() => {
    console.log(location.state.detail);
}, [location]);