gpt4 book ai didi

reactjs - 无法访问路径参数

转载 作者:行者123 更新时间:2023-12-03 14:11:38 24 4
gpt4 key购买 nike

我有以下内容:

<BrowserRouter>
<Sidebar>
<Switch>
<Route path='room/:roomId' component={RoomComponent}/>
</Switch>
</BrowserRouter>

现在在房间组件内,如果我console.log(this.props)。我可以访问 roomId 参数。但是,在侧边栏组件内,我无权访问 roomId 参数。如果我 console.log(this.props),我的位置和匹配 Prop 如下所示:

    location:
hash: ""
key: "6qujt0"
pathname: "/room/asdf3/"
search: ""
state: undefined

match:
isExact: false
params:{}
path: "/"
url: "/"

你知道会发生什么吗?预先感谢您!

最佳答案

您只能在您的 Route 组件 及其子级(如果使用 withRouter 封装)中访问该信息。

您可以做的是使用 RoutematchPath 使用的相同匹配代码:

// inside your Sidebar component

import { matchPath } from "react-router";

const match = matchPath(this.props.location.pathname, {
path: "/room/:roomId",
exact: false,
strict: false
});

// match should be:
// {
// isExact: false
// params: {
// roomId: "asdf3"
// }
// path: "/room/:roomId"
// url: "/room/asdf3"
// }

关于reactjs - 无法访问路径参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57228466/

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