【问题标题】:React Router useParams hook returning empty objectReact Router useParams 钩子返回空对象
【发布时间】:2020-07-13 08:14:24
【问题描述】:

我遇到了一个问题,即 React Router 没有使用 useParams 钩子获取参数。当转到路由/view/12345(浏览器路径包括基本名称/pending-nominations/view/12345)时,console.log() 在此处记录一个空对象{},它应该在其中显示id,例如。 {id: 12345}

const SingleRecognition = (props) => {
    let params = useParams();
    console.log("SingleRecognition -> params", params)

    return (
        <div>
            id: 
        </div>
    );
}

function App() {
    return (
        <Provider store={store}>
            <ThemeProvider theme={theme}>
            <Router basename="/pending-nominations">
                <PageNav/>
                <Switch>
                    <Route path="/history">
                        <History/>
                    </Route>
                    <Router path="/view/:id">
                        <SingleRecognition/>
                    </Router>
                    <Route path="/">
                        <PendingRecognitions/>
                    </Route>
                </Switch>
            </Router>
            </ThemeProvider>
        </Provider>
    );
}

查看示例https://reacttraining.com/react-router/web/api/Hooks/useparams 这应该可以工作。

【问题讨论】:

    标签: reactjs react-router


    【解决方案1】:

    我认为你有问题,因为你使用了Router 而不是Route

    【讨论】:

    • ? 在电脑上的时间太多。谢谢!
    • 路由器而不是路由是什么意思?我遇到了同样的问题
    • React 路由器必须有组件 RouterRoute。所以你很容易犯错使用Router 而不是Route
    猜你喜欢
    • 2023-02-01
    • 2017-01-14
    • 2022-12-22
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    相关资源
    最近更新 更多