如何在ReactJS的新选项卡中打开链接时保持帖子ID的状态

如何在ReactJS的新选项卡中打开链接时保持帖子ID的状态,reactjs,react-router,Reactjs,React Router,我正在建立一个博客主题的网站。。。我成功了,我可以在同一个选项卡中打开一个链接,但当我在另一个选项卡中打开链接,或者只是在url中粘贴帖子的链接时,在另一个选项卡中,我会收到一条消息,我的ID未定义,这很明显,因为我的状态为空。下面是我的链接的样子 const TitleLink = (props) => ( <h1 className="post-title"><Link to={{pathname: "/posts/"+props.titleSplited, stat

我正在建立一个博客主题的网站。。。我成功了,我可以在同一个选项卡中打开一个链接,但当我在另一个选项卡中打开链接,或者只是在url中粘贴帖子的链接时,在另一个选项卡中,我会收到一条消息,我的ID未定义,这很明显,因为我的状态为空。下面是我的链接的样子

const TitleLink = (props) => ( <h1 className="post-title"><Link to={{pathname: "/posts/"+props.titleSplited, state:{id:props.id}}} > {props.title} </Link></h1> );
http://mywebsite.com/posts/this-is-just-a-spam
在我在一个新标签中打开它或者在另一个标签中粘贴帖子url之前,它工作得非常好。我试过用pushState,但还是不行,所以现在我不知道该怎么办。。。当我通过URL传递帖子ID时,它工作正常,但我删除了它,因为我不想要丑陋的URL,我想要我的URL看起来像

const TitleLink = (props) => ( <h1 className="post-title"><Link to={{pathname: "/posts/"+props.titleSplited, state:{id:props.id}}} > {props.title} </Link></h1> );
http://mywebsite.com/posts/this-is-just-a-spam
而不是

http://mywebsite.com/posts/83hjdjadt2642djxa/this-is-just-a-spam

我能得到的唯一共同的东西是标题,所以我想做一个隐藏的字段,它将包含像这样的引用,它的值将是post id。我不知道这是好主意还是坏主意,我已经被这个问题困扰了3天,我找不到解决方案。。。如果你能帮助我,我将非常感激。谢谢

您的后端是什么?如果你不想要丑陋的URL,你可以重写URL。但无论如何,如果你加载帖子,你需要有一些机制来知道加载哪个帖子(即你URL中帖子ID的位置),我的后端是Express。。。我可以做到,但我认为这必须是更好的解决方案@弗拉多潘季奇。。。这可能是更好的隐藏字段,不知道?若我来到这个网站,复制这个替换的url并发送给你们呢?你的浏览器还会知道有隐藏的ID吗?我猜不会,然后帖子id仍然是未定义的@VladoPandžić是的,它将是未定义的,这只是在搜索栏中替换url以使其美观:)