我正在尝试使用我的客户想要的第三方身份验证资源(微信)。这可以通过在其网站上进行身份验证,然后将用户重定向到我们使用“code”参数提供的URL。它不支持在URL的末尾添加/#/。所以我回来了
www.mywebsitedomain.com/code=test123
我正在使用react-router,因此它会自动将其更改为
www.mywebsitedomain.com/code=test123#/?_k=1dcv0i
这样代码就不会出现在props.location或props.params中。
我无法弄清楚如何获取该代码。
任何人都有任何想法?
答案 0 :(得分:0)
您必须实现一个历史记录组件来处理react-router。
import { useBasename } from 'history'
import createBrowserHistory from 'history/lib/createBrowserHistory';
export default useBasename(createBrowserHistory)({ basename: '/yourUrlBase' });
然后在main / app / index.js
中导入此文件要更改路线,您需要使用pushState。
history.pushState(null, '/internalUrl/' + urlParameters);
你的路线应该是:
<Route path="internalUrl/:urlParameters" component={YourView} />
此外,您还可以在此链接上找到更多信息和完整的教程:https://css-tricks.com/learning-react-router/#article-header-id-9