当前位置: 首页 > 知识库问答 >
问题:

React Router useParams钩子返回空对象

商麒
2023-03-14

我遇到一个问题,React路由器无法使用useParamshook获取参数。当转到路由时,/view/12345(浏览器路径包括basename/pending namignations/view/12345),控制台.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 这应该行得通。

共有1个答案

楚博雅
2023-03-14

我认为您有问题,因为您使用了路由器而不是路由

 类似资料:
  • 我有一个类组件,它返回使用Redux存储完全填充的状态: 但是,当我将上面的类组件切换到下面的功能组件,以便可以在代码中使用ReactJS钩子时,状态始终为空。

  • 我通常使用getBoundingClientRect()。宽度当开发一个Swiper组件使用反应挂钩,但在一些例子getBoundingClientRect()。宽度返回0。 我在useEffect函数中使用了setTimeout,效果很好; 下面是简单的swiper代码演示: 简单swiper演示代码

  • 我开始进入WP开发,我有问题与ACF后对象返回空,我不知道为什么。我创建了一个ACF,分类法的位置等于类别然后字段设置为... 字段名称:推荐的\u资源 然后在岗位上 我得到了无效的任何帮助或指向正确的方向都是非常感谢的。

  • 当在testng单元testcase中运行时,JAXB将XML文件解组到对象中工作正常。 当相同的代码被用来在另一个进程中解封相同的XML文件时,我得到了一个空对象。我可以验证对象是为XML文档中的每个元素创建的,并且所有适配器都被调用。在unmarshaller中设置事件处理程序,但没有验证问题。当我设置xmlns属性和前缀时,即使返回空对象,行为也略有不同。 我看了好几篇文章,但都无法与我面临

  • 问题内容: 我有一个文件夹,其中包含index.js和几个模型(类)index.js book.js author.js 问题在于Author类似乎找不到书!它只是一个空对象。但是,如果我在index.js中切换导出,则将Book放在Author之后- 可以,但是其他模型将停止工作。 我不想做任何骇客工作。 问题答案: 这是因为您具有循环依赖关系。Node.js以非常特定的方式处理此问题: 第一个

  • 我试图实现Mockito来测试一个特定的方法,但是。然后返回(…)似乎总是返回空对象,而不是我想要的: 切: Spring配置: 莫基托试验方法: 系统输出: 这里发生的事情是,当我运行测试时,在上面标有//PROBLEM的CUT中的行上,serviceSolutions对象为空。我的愿望是让那个对象从我的测试方法中填充我的“无效服务响应”对象。从我的System.out.println的输出来看