react-router-dom не работает. Ошибка недопустимого типа элемента

#reactjs #router

#reactjs #маршрутизатор

Вопрос:

Я пытаюсь запустить проект react и использовать react-router-dom

index.js файл выглядит следующим образом

 import React from "react";
import ReactDOM from "react-dom";
import { BrowserRouter } from "react-router-dom";
import App from "./App";

console.log(App);

ReactDOM.render(
  <BrowserRouter>
    <App />
  </BrowserRouter>,
  document.getElementById("root")
);
 

И App.js

 import React from "react";
import { Switch, Route } from "react-router-dom";
import Home from "./pages/home.js";

export default function App() {
  return (
    <main>
      <Switch>
        <Route exact path="/home" component={(props) => <Home {...props} />} />
      </Switch>
    </main>
  );
}
 

И я получил сообщение ниже.

 ×
Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

Check the render method of `component`.
 

На самом деле я сделал console.log (приложение) в index.js а приложение — это функция. И когда я заменяю App.js как показано ниже, это работает.

 import React from "react";


export default function App() {
  return <div className="App">hello</div>;
}
 

Это мои зависимости.

     "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-router-dom": "^5.2.0",
    "react-scripts": "4.0.1",
    "web-vitals": "^0.2.4"
 

Я пытаюсь выяснить, в чем именно проблема, но не могу найти….

Заранее благодарим вас за помощь!

Комментарии:

1. Не могли бы вы показать свой домашний компонент, пожалуйста.

2. @NikitaGalibin Спасибо за комментарий! Собственно, в этом и заключалась проблема. Я неправильно настроил домашний компонент… Теперь он отображается правильно.