React Не отображает компоненту при переключении по ссылке

Не могу понять в чем причина, то ли в синтаксисе, то ли библиотеки какой-то не хватает

Вот package.json

 {
  "name": "new-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.14.1",
    "@testing-library/react": "^11.2.7",
    "@testing-library/user-event": "^12.8.3",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-router-dom": "^6.0.0",
    "react-scripts": "4.0.3",
    "web-vitals": "^1.1.2"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

Вот App.js

    import React from 'react';
import './App.css';
import logo from './logo.svg';
import Header from './components/Header/Header';
import Navbar from './components/Navbar/Navbar';
import Profile from './components/Profile/Profile';
import Dialogs from "./components/Dialogs/Dialogs";
import {BrowserRouter, Route, Routes} from "react-router-dom";

const App = (props) => {
    return (
        <BrowserRouter>
            <div className='app-wrapper'>
                <Header/>
                <Navbar/>
                <div className='app-wrapper-content'>
                    <Routes>
                        <Route path='/dialogs' component={Dialogs}/>
                        <Route path='/profile' component={Profile}/>
                    </Routes>
                </div>
            </div>
        </BrowserRouter>


    )
}
export default App;

Ссылки есть в навбаре

import React from "react";
import s from './Navbar.module.css';

const Navbar = () => {
    return <nav className={s.nav}>
        <div className={s.item}>
            <a href='/profile'>My Profile</a>
        </div>
        <div className={s.item}>
            <a href='/dialogs'>Messages</a>
        </div>
        <div className={s.item}>
            <a href='#'>News</a>
        </div>
        <div className={s.item}>
            <a href='#'>Friends</a>
        </div>
        <div className={s.item}>
            <a href='#'>Settings</a>
        </div>

    </nav>
}

export default Navbar;

Компоненты есть, средой подхватываются и экспортируются.

Вот Dialogs.jsx

import React from "react";
import s from './Dialogs.module.css';

const Dialogs = (props) => {
    return (
        <div>
            Dialogs
        </div>
    )
}

export default Dialogs;

Вот Profile.jsx

import React from "react";
import s from './Profile.module.css';
import MyPosts from "./MyPosts/MyPosts";

const Profile = () => {
    return <div>
        <div>
            <img width='995px' height='400px' src='https://www.wallpapertip.com/wmimgs/5-54174_download-monaco-dawn-wallpaper-free-stock-photo-monaco.jpg' alt=''></img>
        </div>
        <div>
            ava+description
        </div>
        <MyPosts />
    </div>
}

Ответы (2 шт):

Автор решения: markak

Вместо тега a нужно использовать компонент Link, а вместо атрибута href атрибут to

 <div className={s.item}>
        <Link to="/profile">My Profile</Link >
    </div>
    <div className={s.item}>
        <Link to="/dialogs">Messages</Link >
    </div>
    <div className={s.item}>
        <Link to="/news">News</Link>
    </div>
    <div className={s.item}>
        <Link to="/friends">Friends</Link >
    </div>
    <div className={s.item}>
        <Link to="/settings">Settings</Link >
    </div>

Здесь есть готовый пример https://v5.reactrouter.com/web/example/basic

→ Ссылка
Автор решения: MeGarda

В итоге, поменялся синтаксис. Нужно было так:

const App = (props) => {
    return (
        <BrowserRouter>
            <div className='app-wrapper'>
                <Header/>
                <Navbar/>
                <div className='app-wrapper-content'>
                    <Routes>
                        <Route path="/dialogs/" element={<Dialogs/>}/>
                        <Route path="/profile/" element={<Profile/>}/>
                    </Routes>
                </div>
            </div>
        </BrowserRouter>
    )
}
→ Ссылка