【发布时间】:2021-09-07 13:47:37
【问题描述】:
我有一个基于 React.js 的小部件,已嵌入到 shopify 网站。它适用于大多数网站。
对于一个站点,ajax-cart.js.liquid 代码导致 react 路由器出现问题,页面 url 发生变化,托管小部件的页面加载该 url - 导致 404。
如何隔离 React 应用程序和路由器功能,使其不被页面 js 破坏或接管?
在这里您可以看到它正常工作。单击右下角的 P,然后单击加入。 https://www.puctto.me/collections/all
在这里你可以看到它不起作用。单击 P。 url 栏发生变化,页面导航。 https://shoezie.com.au/
我正在像这样加载 ReactRouter:
import React from "react";
import {
Switch,
Route,
Redirect
} from "react-router-dom";
import { MemoryRouter } from 'react-router'
import axios from "axios";
export default class App extends React.Component {
//app code
}
然后在我的 FooterGuest 组件中,我使用了来自 react-router 的链接
import React from "react";
import {
// BrowserRouter as Router,
// Switch,
// Route,
Link
} from "react-router-dom";
export function FooterGuest(){
return (
<div className="widget-footer widget-footer--login ">
<h3 className="widget-footer-header ">
Sign in to upload your own photo
</h3>
<div className="widget-footer__register-bar">
<Link to="/signin" className="ui inverted button" >Sign In</Link>
<Link to="/join" className="ui inverted button" >Join</Link>
</div>
</div>
)
}
【问题讨论】:
-
你使用 import {Link} from "react-router-dom"; ?
-
是的。这是某种原因吗?
-
更新了更多细节
标签: reactjs react-router