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

javascript - 通过分享链接点击进入本地项目,怎样才能进入静态路由的根路由?

裴俊雅
2023-04-27

本地开发,后端生成的分享链接格式如下:

http://192.xxx.xxx.xxx:3000/x/aaa/bbb, 其中aaa为分享内容的id, bbb为分享内容权限信息的id

现在点击这个链接以后,由于链接不符合前端静态路由配置( react-router-dom v6 => useRoutes ),因此并不能进入到我编写的分享权限检测模块,只能进入到index.html文件,我应该在index.html里做分享权限检测,还是又什么别的办法?能进入静态路由的根路由就行

共有1个答案

闻昊英
2023-04-27

你可以在前端路由配置中添加一个动态路径匹配,先在你的路由配置中添加一个新的路由,用于处理分享链接:

import { Route, Routes } from 'react-router-dom';
import ShareContent from './components/ShareContent';

// 其他路由和组件导入

const App = () => {
  const routes = useRoutes([
    // ...其他路由配置
    {
      path: '/x/:contentId/:permissionId',
      element: <ShareContent />,
    },
  ]);

  return <div className="App">{routes}</div>;
};

然后在你的ShareContent组件中,你可以从路由参数中获取contentId和permissionId


import { useParams } from 'react-router-dom';

const ShareContent = () => {
  const { contentId, permissionId } = useParams();

  // 在这里处理 contentId 和 permissionId
  // 例如:获取分享内容、验证权限等

  return (
    <div>
      <h1>Share Content</h1>
      {/* 渲染分享内容 */}
    </div>
  );
};

这样就可以了

 类似资料:
  • 本文向大家介绍怎样动态加载路由?相关面试题,主要包含被问及怎样动态加载路由?时的应答技巧和注意事项,需要的朋友参考一下 vue-router的addRoutes方法

  • 面试岗位:网易云音乐-海外直播业务线-产品经理(已拿到offer) 面试时间:2022年6月 面试轮次:4轮 下面给大家分享一下自己4轮面试的面试问题以及自己的答案,由于自己有面试完复盘的习惯,所以分享一下自己当时的面试问题以及自己的答案,如果你也在求职产品经理并且想进网易云音乐,一定会对你有所帮助,一起加油 我是2023年毕业的应届生,马上要参加秋招了在找大厂的实习,有同样秋招的小伙伴欢迎大家多

  • 如何获取局域网路由器的本地地址信息?我不想要公共的net地址,但内部子网地址。它适用于大多数路由器192.168.1.0或192.168.1.1。我不想执行任何shell命令,而是通过java API找到它。

  • 使超链接在 中可单击是微不足道的。您只需在IB的视图上设置“检测链接”复选框,它就会检测HTTP链接并将其转换为超链接。 然而,这仍然意味着用户看到的是“原始”链接。RTF文件和HTML都允许你设置一个用户可读的字符串,在它的“后面”有一个链接。 将属性化文本安装到文本视图(或或,就此而言。)但是,当属性化文本包含链接时,它是不可单击的。 有没有办法让用户可读的文本可以在、或中单击? SO上的标记

  • 问题内容: 我有一个连接到的前端,并且在端用定义了路由。当我用来将它们定向到动态路线时,它们可以正常工作。但是当我直接使用浏览器地址栏访问按Enter的链接时,或者我刷新了。 404页面不存在 而且我知道那是因为发生了对服务器的直接调用,并且当我们在共享主机上进行操作时,没有必要操纵共享主机上的操作。 考虑过但不适合API的动态特性。请允许我提供解决此问题的任何方法吗? 问题答案: 检查一下:ht

  • 如何获取用户当前所在的路由?我需要它来隐藏导航栏链接,如果用户当前在链接通向的路线上。