useParams 获取路由参数
useParams()
方法返回的是一个对象,直接取属性 TS 会提示空对象中不存在这个属性。
需要定义一个借口约定路由传递的参数
interface RouteParams {
id: string
}
...
const params = useParams<RouteParams>();
读取:params.id
props 获取路由参数
interface RouteParams {
id: string
}
// 因为 路由组件 props 的类型为 RouteComponentProps
export default (props: RouteComponentProps<RouteParams>) => {
const id = props.match.params.id
}