2017-08-15 149 views
2

我正在用React构建一个网站,并使用React-Router,当用户访问一个不存在的URL时,我想渲染一个404页面。如何在React-React-React中正确呈现404页面?

某些URL是动态的,也就是说,

www.site.com/user/(username) 

如何渲染反应路由器404页,如果与一个特定的用户名犯规的用户存在吗?在API调用期间,我是否必须手动在组件本身编写代码来检查用户是否存在,然后将用户重定向到404组件?

我正在寻找将用户重定向到未找到页面的最佳方法。寻找如何做到最好的想法。

+1

不幸的是,唯一的方法是在组件中匹配'user /(username)'的条件。然后,让组件呈现错误,或者您可以使用''重定向到错误页面,如@canaan seaton所述 – Purgatory

回答

1

您可以查看是否存在this.props.match.username。如果确实如此,则渲染正常,如果不正确,则使用React-Router Redirect组件重定向到404组件。如果您有多个需要此功能的路径,那么您可以考虑为此设置一个HOC