javascript - TypeError:无法读取未定义的 React Framer Motion API 的属性“位置”
问题描述
当我尝试使用 useLocation() 时,出现此错误:TypeError:无法读取未定义的属性“位置”。我怎样才能解决这个问题?
import {BrowserRouter as Router, Switch, Route} from 'react-router-dom';
import {useLocation} from 'react-router-dom'
import home from './Components/home'
import about from './Components/about'
import work from './Components/work'
import contact from './Components/contact'
import NavbarHeader from './Components/navbarHeader';
import {AnimatePresence, motion} from 'framer-motion'
function App() {
const location = useLocation();
return (
<Router>
<AnimatePresence exitBeforeEnter>
<NavbarHeader/>
<Switch location= {location} key = {location.pathname}>
<Route exact path='/' component={home}/>
<Route path='/about' component={about}/>
<Route path='/work' component={work}/>
<Route path='/contact' component={contact}/>
</Switch>
</AnimatePresence>
</Router>
);
}
export default App;
解决方案
访问 useEffect() 挂钩中的“位置”对象并将其设置为状态(使用 useState()),然后您将能够访问该对象内的所有属性。
有关更多详细信息,请访问以下链接: https ://reactrouter.com/web/api/Hooks/uselocation
推荐阅读
- python - 如何在将列表与另一个变量进行比较时引用列表中的多个项目?
- cube - 是否可以在 TM1s.cfg 的 DataBaseDirectory 参数中使用相对路径?
- progressive-web-apps - 第二次刷新后正在存储缓存
- kubernetes - Kubernetes PVC 删除 POD 的内容
- apache-flink - 失去检查点协调员后是否有可能恢复
- java - 不同类方法的组成
- reactjs - 在 goDaddy 主机上上传由 create-react-app 创建的 react 应用程序的步骤
- ruby-on-rails - 具有树节点属性的 Rails 树模型
- django - Django Cart - 产品的多个配置选项
- javascript - 减少编辑和删除文本之间的空间