我正在將 React Router Dom 版本 5 與 React v 17 和 TypeScript 一起使用。我想弄清楚如何使用該match物件。到目前為止,我有:
import { BrowserRouter, Route, Switch, match } from 'react-router-dom';
interface DetailsProps {
match?: match<string> ;
}
const Routing: React.FunctionComponent<DetailsProps> = (props: DetailsProps) => {
const match = props.match;
// more routes here
<Route path={`${match.url}`} render={() => <Component/>} />
}
我得到那里的錯誤:物件可能是“未定義”。
任何想法是為什么?型別不對嗎?
uj5u.com熱心網友回復:
你可以匯入它:
import { match } from 'react-router-dom';
uj5u.com熱心網友回復:
您的界面說這match是一個可選引數,可以是undefined
interface DetailsProps {
match?: match<string> ;
}
通過洗掉?標記,您將使其成為必需:
interface DetailsProps {
match: match<string> ;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/315170.html
標籤:javascript 反应 打字稿 反应路由器
