首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在reactjs中检查以带Route钩子的短语开头的随机生成的url

问如何在reactjs中检查以带Route钩子的短语开头的随机生成的url
EN

Stack Overflow用户
提问于 2021-10-21 20:27:54
回答 1查看 36关注 0票数 0

我正在尝试设置一个网站,在那里你可以注册人们,它会将他们的信息添加到数据库中。然后你可以在主页上搜索这些人的名字,它会根据名字过滤结果。弹出的每个与搜索字符串相似的名称将是来自reactjs的链接钩子,它将把您带到路径名为:

代码语言:javascript
复制
"/student_info_"+element

在这个页面上会有这个人的信息。我在App.js上渲染页面时遇到了问题,因为它会生成部分随机的url,而我的App.js中的代码是:

代码语言:javascript
复制
return (

    <div>
      <Switch>
        <Route path="/" exact>
          <MainPage />
        </Route>
        <Route path="/register_student">
          <RegisterPage />
        </Route>
        <Route path="/student_info_">
          <StudentInfo />
        </Route>
      </Switch>
    </div>

  );

无论出于什么原因,这似乎都不起作用。我在我包含的学生信息页面中对此进行了测试:

代码语言:javascript
复制
    return (

        <div className="btn-textfield">

            {pathName}
            
        </div>

    );

当我在学生信息页面上时,它没有显示任何信息。我很确定问题出在App.js检查url的路径名并显示正确的页面,但我不确定该如何修复它。我很感谢你的回复。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-21 20:52:06

我相信您正在查找路由参数。

在App.js中,您可以执行以下操作:

代码语言:javascript
复制
<Route path="/student_info/:id">
  <StudentInfo />
</Route>

然后在StudentInfo组件中,您可以获得当前路由的:id部分,如下所示:

代码语言:javascript
复制
import { useParams } from "react-router-dom";

 ...

const { id } = useParams();

return (
  <div className="btn-textfield">
    {id}
  </div>
);

如果希望路径看起来与/student_info_%ID%完全一样,也可以使用相同的方法来实现&将路径的这一部分视为:id。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69668388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档