作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 react-router-dom v6,不知道如何获取参数值
例如:http://localhost:3000/user/:id
我想获取:id
有人使用 hook useParams
获取,但我正在使用类,所以我不能使用 hook。
最佳答案
库提供的 HOC withRouter 已在 React Router v6 中弃用。如果您需要使用 v6 并且正在使用基于类的 React 组件,那么您将需要编写自己的 HOC 来包装 v6 use* Hook 。
例如:
export function withRouter( Child ) {
return ( props ) => {
const location = useLocation();
const navigate = useNavigate();
return <Child { ...props } navigate={ navigate } location={ location } />;
}
}
如果您有一个需要迁移到 v6 的大型代码库,但还没有将所有基于类的组件迁移到函数式组件中,这将很有用。
这是基于开发团队的建议,如 Github 问题所述:https://github.com/ReactTraining/react-router/issues/7256
关于reactjs - 如何在类中从react-router-dom v6获取参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62365009/
我是一名优秀的程序员,十分优秀!