所以我对React.js中的动态路由还比较陌生。 我遇到了一个问题,在最近的2个小时内无法解决。 我有一个简单的网页,上面有博客文章,我想创建一个“阅读更多”路线,该路线将重定向到整个文章页面。
到目前为止,单击这些链接后,它会重定向到正确的链接,但是,它不会显示任何内容。 我已经尝试了很多事情,但是我看不出问题出在哪里。
有人可以看一下这个项目,让我知道为什么没有渲染吗?我认为这可能是导入不当的问题,但我看不到哪里。
请,请参阅此项目的GitHub存储库。我想互相连接的有App.js,Post.js,Postlink.js和Post.js。
Postlink.js是我要呈现帖子完整内容的页面,但React并未呈现它。
答案 0 :(得分:1)
似乎您在“ export const POSTLINK ='/ post /:id';”中犯了一个错误。 因为当我单击更多时,我转到'/ post s /:id'; (观看s)。但是,当我尝试更改它时,会遇到多个firebase错误,而我对此一无所知。
至少将您的路线更改为:
"export const POSTLINK = '/posts/:id';"
加载正确的组件。
希望这会有所帮助。
答案 1 :(得分:1)
有两个问题:
1)您的路线匹配错误(您应该将post/:id
写为posts/:id
):
export const POSTLINK = '/posts/:id'
2)在您的Postlink
componentDidMount()
中,您需要调用firebase.posts
作为函数
const ref = this.props.firebase.posts().doc(this.props.match.params.id)
(在您的仓库中为this.props.firebase.posts.doc
)