im facing Uncaught TypeError:无法解构“React2”的属性“basename”。useContext(...)’,因为它是空的。在代码的链接组件中
import React, { useEffect, useState } from 'react';
import { Link } from 'react-router-dom';
import { styles } from '../styles';
import { navLinks } from '../constansts';
import { logo, menu, close } from '../assets';
const Navbar = () => {
const [active, setActive] = useState('');
return (
<nav className={`${styles.paddingX} w-full flex items-center py-5 fixed top-0 z-20 bg-primary`}>
<div className="w-full flex justify-between items-center max-w-7x1 max-auto">
<Link
to="/"
className="flex items-center gap-2"
onClick={() => {
setActive('');
window.scrollTo(0, 0);
}}
>
<img alt="logo" />
</Link>
</div>
</nav>
);
};
export default Navbar;
我不知道怎么修,谁能告诉我怎么修吗
2条答案
按热度按时间lvmkulzt1#
您正在使用react-router-dom中的
Link
,但您的应用未被BrowserRouter
Package 。您的index.js
:zkure5ic2#
请确保在App上正确使用路由。js并将navbar组件放入BrowserRouter中。作为一个例子,让我们假设你的应用程序。js类似于:
然后:
一定要添加导入!
edit:在 Package 路由之前,我导入BrowserRouter作为Router,因为它有助于我理解代码,这就是为什么它被这样声明