Содержимое компонента React не отображается или не найдено

Я впервые создаю интерфейс с React и только что добавил маршруты. С тех пор страницы больше не отображаются правильно, и я не знаю, где ошибка.

Просмотр при переходе на главную страницу

Содержимое компонента не загружается

Вот мой App.js с маршрутами

import './App.css';
import React, { useState } from 'react';
import { Route, Routes, Switch } from "react-router-dom";
import homePage from './Pages/home';
import loginPage from './Pages/login';
import galleryPage from './Pages/gallery';

function App() {
  return (
    <>
      <Routes>
        <Route path='/' exact element = {<homePage />}/>
        <Route path='/login' element = {<loginPage />}/>
        <Route path='/gallery' element = {<galleryPage />}/>
        <Route path='/dev' element = {<test />}></Route>
      </Routes>
    </>
  );
}

export default App;

Вот мой index.js

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import { BrowserRouter } from 'react-router-dom'

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <BrowserRouter>
      <App />
    </BrowserRouter>
  </React.StrictMode>
);

reportWebVitals();

Вот мой дом.js

import Navbar from "../Components/Navigation/Navbar";
import Calendartsc from "../Components/Calendar/calendar";
import Events from "../Components/Events/Events";
import React from "react";
import '../index.css';
import './home.css'

let inhalt = "Temporary test content"

function homePage() {
  return (
    <>
      <div className = "App">
        <title>Vereinswebsite</title>
        <Navbar />
        <div className='card'>
          <h2>Wilkommen</h2>
          <div className = "flex-container">
            {inhalt}
          </div>
          <div className = "flex-container">
            <div className='flex-child magenta'>
              <div className='card'>
                <Calendartsc />
              </div>
            </div>
            <div className='flex-child green'>
              <div className='card'>
                <Events />
              </div>
            </div>
          </div>
        </div>
      </div>
    </>
  );
}

export default homePage;

Мой пакет.json

{
 "name": "test",
 "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.16.5",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^13.5.0",
    "@types/react": "^18.0.26",
    "react": "^18.2.0",
    "react-bootstrap": "^2.7.0",
    "react-calendar": "^4.0.0",
    "react-dom": "^18.2.0",
    "react-router-dom": "^6.6.2",
    "react-scripts": "^2.1.3",
    "web-vitals": "^2.1.4"
 },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
     ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

Я неправильно называю компоненты?

Я хочу, чтобы компоненты React отображались на правильных маршрутах. В настоящее время отображается только тег HTML, но не контент, который я сохранил в функции в качестве возврата.

Вы также можете показать свой консольный вывод?

Numan Ijaz 01.02.2023 16:58
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
1
53
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Проблема в том, что вы визуализируете компоненты строчными буквами.

React JSX будет рассматривать любой строчный tag как обычный HTML tag. Если тег не существует, он будет отображаться как DIV

Вместо того, чтобы отображать его, как вы опубликовали:

<Route path='/' exact element = {<homePage />}/>

Вам нужно сделать это так:

<Route path='/' exact element = {<HomePage />}/>

И вместо того, чтобы импортировать его, как вы опубликовали:

import homePage from './Pages/home';

Вам нужно импортировать компоненты следующим образом:

import HomePage from './Pages/home';

В React, если имя компонента начинается с имени нижнего регистра, он пытается загрузить компоненты HTML по умолчанию, такие как div, span, ... и т. д. Поскольку таких компонентов HTML, как homePage, нет, ничего не будет загружено.

Так что переименуйте свой компонент, например, HomePage, LoginPage, ... и т. д. Это должно работать.

Другие вопросы по теме

Похожие вопросы

Делаем ли мы с flushSync() внутри useEffect то же самое, что и с useLayoutEffect?
Если внимательно присмотреться, между коробками будних дней есть небольшие линии или промежутки. Эти линии или пробелы присутствуют в Chrome, но не в Firefox
Запретить вставку VS Code IntelliSense = {} после имени функции
При распространении prevstate хука React useState я получаю сообщение об ошибке: должен иметь метод «[Symbol.iterator]()», который возвращает iterator.ts
У меня есть определенное количество кнопок, нажатие на одну из которых должно отображать содержимое только для нее в компоненте React
UseEffect для прокрутки вниз не работает
Невозможно использовать пустую оболочку <> в reactJS
Совместное использование экранов по нескольким стекам/навигаторам в React-Native с использованием React-Navigation v6
UseParams() — это пустой объект в react-router-dom v6.8
Динамическая маршрутизация React.js получает пустую страницу после обновления