使用React刷新浏览器历史logging路由器从我的API返callback用
据我所知,要正确使用React Router中的browserHistory对象,我们需要使用通配符*
路由,以便每次刷新时用户都返回单页应用程序。 这成为一个问题是当我的客户端URL是一样的我的APIurl。
例如,假设我有一个名为example.com
的网站,并且该网站上的其中一个网页是example.com/profile
。 如果我刷新,预期的行为是它将简单地重新加载网站example.com
并正确地路由到/profile
,因为通配符路由应该已经返回客户端单页应用程序。 如果这不起作用,如果我有一个API路线/profile
,即example.com/profile
。 现在,当用户刷新页面,而不是被返回到configuration文件页面,而是从我的API返回一个JSON响应。
根据通配符路由的声明顺序,我可以在刷新时返回API响应,也可以在刷新时返回单页应用程序,但是当API url与客户端浏览器url相同时,则不能同时返回。
围绕这个问题有什么build议吗? 我目前的解决scheme是将我的所有API路由迁移到拥有/api/
前缀给他们。
您需要确保您的客户端路由不会与您的API路由冲突,并且使用/api
为API路由添加前缀是处理此问题的一种非常标准的方法。
除了确保它们不会发生碰撞之外,还没有真正的“解决”问题的方法 – 可能会有各种解决方法,但是如果路线是明确的,那么每个参与者都会更加清楚。