【发布时间】:2021-03-28 15:42:09
【问题描述】:
这个确切的问题被问到here
但似乎没有人回答。所以我也会告诉我我的问题;
我正在使用 BrowserRouter 处理路由,但刷新时它不起作用,所以我采用了一个简单的解决方案并使用 HashRouter 切换它。
并且 framer-motion 退出动画刚刚被禁用,出现动画和其他仍然可以正常工作。只有退出动画停止。
import ReactDOM from "react-dom";
import { HashRouter } from "react-router-dom";
import App from "./App";
ReactDOM.render(
<React.StrictMode>
<HashRouter>
<App />
</HashRouter>
</React.StrictMode>,
document.getElementById("root")
);
说实话,没有太多代码可以添加更多信息,因为问题就是这样。但我仍然在添加 App.js;
import Header from "./Components/Header";
import "./Sass/main.scss";
import { motion } from "framer-motion";
import { BrowserRouter, Route, Switch, useLocation } from "react-router-dom";
import About from "./Components/About";
import Trainings from "./Components/Trainings";
import { AnimatePresence } from "framer-motion";
const appVariants = {
hidden: {
opacity: 0,
},
visible: {
opacity: 1,
transition: {
duration: 1,
},
},
};
const App: React.FC = () => {
const location = useLocation();
return (
<motion.div
variants={appVariants}
initial="hidden"
animate="visible"
className="App"
>
<AnimatePresence exitBeforeEnter>
<Switch location={location} key={location.key}>
<Route path="/" exact={true}>
<Header />
</Route>
<Route path="/hakkimda" exact={true}>
<About />
</Route>
<Route path="/egitimler" exact={true}>
<Trainings />
</Route>
</Switch>
</AnimatePresence>
</motion.div>
);
};
export default App;
【问题讨论】:
标签: javascript reactjs react-router framer-motion