gpt4 book ai didi

javascript - 无法在 useRouteMatch 中声明 url 和路径变量

转载 作者:行者123 更新时间:2023-11-28 03:02:41 24 4
gpt4 key购买 nike

现在我这样做:

constructor(props) {
super(props);
let r = useRouteMatch();
this.path = r.path;
this.url = r.url;
}

但这不起作用并引发错误:如果我在 render() 中使用它们,则 url 未定义
该代码在文档中指出:

let {path, url} = useRouteMatch();

它适用于函数式编程,不适用于类。如何将 this 中的这些变量声明为一行?或者什么东西

最佳答案

React hooks在功能组件中工作。您必须直接在 Routecomponentchildrenrender 属性下渲染组件,或者用 withRouter HOC 装饰它,并从 match 属性中提取它们。

You’ll have access to match objects in various places:

  • Route component as this.props.match
  • Route render as ({ match }) => ()
  • Route children as ({ match }) => ()
  • withRouter as this.props.match
const { match: { path, url } } = this.props;

withRouter match

关于javascript - 无法在 useRouteMatch 中声明 url 和路径变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60842803/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com