这是我的密码

import React, { useState } from 'react';
import { Link } from 'react-router-dom';
import { SidebarData }  from './SidebarData';
import { LuMenu } from "react-icons/lu";
import { RxCross2 } from "react-icons/rx";

function Navbar() {
  const [sidebar, setSidebar] = useState(false)

  const showSidebar = () => setSidebar(!sidebar)

  return (
    <>
      <div className='navbar'>
        <Link to="#" className='menu-bars'>
          <h1><LuMenu onClick={showSidebar}/> </h1>
        </Link> 
      </div>
      <nav className={sidebar ? "nav-menu active" : "nav-menu"}>
        <ul className="nav-menu-items" onClick={showSidebar}>
          <li className='navbar-toggle'>
            {/* <Link to="#" className='menu-bars'>
              <RxCross2 />
            </Link> */}
          </li>
          {SidebarData.map((item, index) => {
            return (
              <li key={index} className={item.cName}>
                {/* <Link to={item.path}>
                  {item.icon}
                  <span>{item.title}</span>
                </Link> */}
              </li>
            )
          })}
        </ul>
      </nav>
    </>
  )
}

export default Navbar;
import React from 'react';
import { AiFillHome } from "react-icons/ai";
import { LuPencilLine } from "react-icons/lu";

export const SidebarData = [
  {
    title: "Home",
    path: "/",
    icon: <AiFillHome />,
    cName: "nav-text"
  },
  {
    title: "Entry",
    path: "/entry",
    icon: <LuPencilLine />,
    cName: "nav-text"
  }
]
import React from 'react';
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import Home from './pages/Home';
import Entry from './pages/Entry';
import Header from './components/Header';

function App() {
  return (
    <div className="App">
      <Header />
      <Router>
        <Routes>
          <Route path="/" element={<Home />} />
          <Route path="/entry" element={<Entry />} />
        </Routes>
      </Router>
    </div>
  );
}

export default App;

这就是我犯的错误.

[Error] TypeError: Right side of assignment cannot be destructured
    LinkWithRef (bundle.js:37906)
    renderWithHooks (bundle.js:24762)
    updateForwardRef (bundle.js:27331)
    callCallback (bundle.js:14358)
    dispatchEvent
    invokeGuardedCallbackDev (bundle.js:14402)
    invokeGuardedCallback (bundle.js:14459)
    beginWork$1 (bundle.js:34323)
    performUnitOfWork (bundle.js:33571)
    workLoopSync (bundle.js:33494)
    renderRootSync (bundle.js:33467)
    performConcurrentWorkOnRoot (bundle.js:32862:93)
    workLoop (bundle.js:43931)
    flushWork (bundle.js:43909)
    performWorkUntilDeadline (bundle.js:44146)

[Error] The above error occurred in the <Link> component:

LinkWithRef@http://localhost:3000/static/js/bundle.js:37893:14
div
Navbar@http://localhost:3000/static/js/bundle.js:249:80
div
div
Header
div
App

Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.
    logCapturedError (bundle.js:26865)
    (anonymous function) (bundle.js:26890)
    callCallback (bundle.js:22796)
    commitUpdateQueue (bundle.js:22814)
    commitLayoutEffectOnFiber (bundle.js:30860)
    commitLayoutMountEffects_complete (bundle.js:31953)
    commitLayoutEffects_begin (bundle.js:31942)
    commitLayoutEffects (bundle.js:31888)
    commitRootImpl (bundle.js:33797)
    commitRoot (bundle.js:33677)
    finishConcurrentRender (bundle.js:32997)
    performConcurrentWorkOnRoot (bundle.js:32925)
    workLoop (bundle.js:43931)
    flushWork (bundle.js:43909)
    performWorkUntilDeadline (bundle.js:44146)

我注意到,当我从代码中注释<Link>部分时,我没有得到错误,但我得到了上面提到的错误,我做错了什么吗?

我没有发现我的错误任何地方,所以我张贴这个,我try 使用useNavigation,但我无法实现它.

推荐答案

Header组件和Link组件扩展为103,提供Link组件(and all other React-Router-DOM components and hooks)运行所需的路由上下文的路由组件.

import React from 'react';
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import Home from './pages/Home';
import Entry from './pages/Entry';
import Header from './components/Header';

function App() {
  return (
    <div className="App">
      <Router>     // <-- provides routing context to sub-ReactTree
        <Header /> // <-- inside router, can access routing context now 🙂
        <Routes>
          <Route path="/" element={<Home />} />
          <Route path="/entry" element={<Entry />} />
        </Routes>
      </Router>
    </div>
  );
}

export default App;

Javascript相关问答推荐

Vue Quill css仅应用于我的第一个Quill Editor组件+如何自定义工具栏

JS、C++和C#给出不同的Base 64 Guid编码结果

如何在不分配整个数组的情况下修改包含数组的行为主体?

如何将连续的十六进制字符串拆分为以空间分隔的十六进制块,每个十六进制块包含32个二元组?

如何解决chrome—extension代码中的错误,它会实时覆盖google—meet的面部图像?'

未捕获错误:在注销后重定向到/login页面时找不到匹配的路由

使用i18next在React中不重新加载翻译动态数据的问题

给定一个凸多边形作为一组边,如何根据到最近边的距离填充里面的区域

Prisma具有至少一个值的多对多关系

在浏览器中触发插入事件时检索编码值的能力

在Java中寻找三次Bezier曲线上的点及其Angular

使用auth.js保护API路由的Next.JS,FETCH()不起作用

为什么我的按钮没有从&q;1更改为&q;X&q;?

如何利用CSS中的隐藏元素实现平滑扩展和防止网格行间隙

如何用javascript更改元素的宽度和高度?

未捕获语法错误:Hello World中的令牌无效或意外

顶点图使用组标签更新列之间的条宽

不协调嵌入图片

如何向内部有文本输入字段的HTML表添加行?

Played link-Initialize.js永远显示加载符号