reactjs 为什么我的两条短信都没有显示

9jyewag0  于 2022-11-04  发布在  React
关注(0)|答案(2)|浏览(202)

下面的代码显示了我在react中的工作,我刚刚开始我的项目,我在这方面还是很新的。我有一个简单的问题,我只是不能理解。它可能是由一些简单的东西。我希望与文本Hi的h1也得到渲染或得到foo作为输出,但我的网站没有显示任何文本
App.js

import './App.css';
import Navbar from './Components/Navbar';
import {BrowserRouter as Router, Routes, Route } from 'react-router-dom'

function App() {
  return (

    <div className='App'>
      <h1> Hi </h1>

      <>

      <Router>
        <Navbar/>
          <Routes>
          <Route path='/' exact/>
          </Routes>
      </Router>
      </>
    </div>
  );
}

export default App;

Navbar.js

import './Navbar.css';
import React, {useState} from 'react'
import { Link } from 'react-router-dom';

function Navbar() {
  return (
    <nav className='navbar'>
        <div className='navbar-container'>
            <Link to="/" >foo</Link>
        </div>
    </nav>
  )
}

export default Navbar;

index.js

import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';
import reportWebVitals from './reportWebVitals';

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

经过进一步的测试,它已经表明,当我删除App.js的返回函数中的所有内容时,除了h1 Hi之外,都会呈现。

wxclj1h5

wxclj1h51#

我古辛这可能就是问题所在。你正在使用React〈18,并试图使用X1M0N1X,而这是不存在的。
变更

//Don't use below because it's in React 18
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<App />);

let rootElement = document.getElementById('root');
ReactDOM.render(<App />, rootElement);

以下是工作示例https://stackblitz.com/edit/github-pagkyw

vaqhlq81

vaqhlq812#

代码现在运行正常。问题是我安装react-router-dom的文件夹比普通的react应用程序高一个文件夹,所以我有两个独立的package.json文件。我已经卸载了react-router-dom,并将其重新安装在react文件夹的同一个文件夹中。json文件被合并,重新加载后它就可以工作了

相关问题