长话短说,我只是想让链接起作用,但这个错误Uncaught TypeError: Cannot read properties of undefined (reading 'pathname')一直在弹出.我确实重新安装了包,多次重组代码,重新打开Reaction,删除并添加了/个,因为它没有任何变化.这是一个如此简单的项目,但它却伴随着如此令人沮丧的错误.这是代码,希望你能看到我的眼睛看不到的东西. 我是App.js

import Category from "./components/Category";
import Pages from "./pages/Pages";
import { BrowserRouter as Router } from "react-router-dom";

function App() {
  
  return (
    <div className="App">
      <Router>
        <Category></Category>
        <Pages></Pages>
      </Router>
    </div>
  );
}

export default App;

这是Category.jsx:

import { FaPizzaSlice, FaHamburger } from "react-icons/fa";
import { GiNoodles, GiChopsticks } from "react-icons/gi";
import styled from "styled-components";
import { NavLink } from "react-router-dom";

function Category() {
  return (
    <List>
      <NavLink to={'/cuisine/Italian'}>
        <FaPizzaSlice />
        <h4>Italian</h4>
      </NavLink>
      <NavLink to={'/cuisine/American'}>
        <FaHamburger />
        <h4>American</h4>
      </NavLink>
      <NavLink to={'/cuisine/Thai'}>
        <GiNoodles />
        <h4>Thai</h4>
      </NavLink>
      <NavLink to={'/cuisine/Japanese'}>
        <GiChopsticks />
        <h4>Japanese</h4>
      </NavLink>
    </List>
  );
}

const List = styled(NavLink)`
  display: flex;
  justify-content: center;
  margin: 2rem 0rem;
`;

export default Category;

这是Pages.jsx:

import Home from "./Home";
import React from "react";
import { Route, Routes} from "react-router-dom";
//import { filterProps } from "framer-motion";
import Cuisine from "./Cuisine";

function Pages() {
  return (
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="cuisine/*" element={<Cuisine />} />
      </Routes>
  );
}

export default Pages;

我不知道还能try 什么.Thank you :)

推荐答案

这里有两件事要做.

  1. 修正打字错误

Pages.jsx:

在路径前面放置/,如下所示:

<Route path="/cuisine/*" element={<Cuisine />} />
  1. <List>改为其他元素,即<div>.LIST不适用于NavLink.

Category.jsx:

function Category() {
    return (
        <div>
            <NavLink to={"/cuisine/Italian"}>
                <FaPizzaSlice />
                <h4>Italian</h4>
            </NavLink>
            <NavLink to={"/cuisine/American"}>
                <FaHamburger />
                <h4>American</h4>
            </NavLink>
            <NavLink to={"/cuisine/Thai"}>
                <GiNoodles />
                <h4>Thai</h4>
            </NavLink>
            <NavLink to={"/cuisine/Japanese"}>
                <GiChopsticks />
                <h4>Japanese</h4>
            </NavLink>
        </div>
    );
}

Javascript相关问答推荐

单击更新页面的按钮后,页面刷新;测试/断言超时,有两个标题,但没有一个标题

没有输出到带有chrome.Devtools扩展的控制台

浮动Div的淡出模糊效果

Angular material 拖放堆叠的牌副,悬停时自动展开&

如何粗体匹配的字母时输入搜索框使用javascript?

更改JSON中使用AJAX返回的图像的路径

如何从网站www.example.com获取表与Cheerio谷歌应用程序脚本

如何在Vue 3中创建自定义 Select 组件,并将选项作为HTML而不是props 传递?

如何通过将实例方法的名称传递给具有正确类型的参数的继承方法来调用实例方法?

如何在Svelte中从一个codec函数中调用error()?

在JS中动态创建对象,并将其追加到HTML表中

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

基于产品ID更新条带产品图像的JavaScript命中错误

postman 预请求中的hmac/sha256内标识-从js示例转换

JWT Cookie安全性

Reaction即使在重新呈现后也会在方法内部保留局部值

调用特定数组索引时,为什么类型脚本不判断未定义

计算对象数组中属性的滚动增量

在Press Reaction本机和EXPO av上播放单个文件

TypeScrip Types-向流程对象添加属性