React app doesnt dislpay routes components nothing is dislpayed on screen only white page

Viewed 20

Hello when i try run my app i get just white screen nothing is displayed at all on main page is white screen and same if i try to change it like to http://localhost:3000/register also i delete some files from src folder but i thinking that files that i delete is not important its something with routes ? the screen shot of file structure below code App.js

    import { BrowserRouter, Route, Routes } from "react-router-dom";
    import Dashboard from "./components/Dashboard";
    import Login from "./components/Login";
    import Navbar from "./components/Navbar";
    import Register from "./components/Register";
    
    export default function App() {
      return (
    
        <BrowserRouter>
          <Routes>
            <Navbar />
            <Route path="/" element={<Login />} />
            <Route path="/register" element={<Register />} />
            <Route path="/dashboard" element={<Dashboard />} />
    
          </Routes>
        </BrowserRouter>
    
      );
    }
    
    const root = ReactDOM.createRoot(document.getElementById('root'));
    root.render(<App />);

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import "bulma/css/bulma.css";
import axios from "axios";
import { BrowserRouter } from "react-router-dom";
 
axios.defaults.withCredentials = true;
 
ReactDOM.render(
  <BrowserRouter>
      <App />
  </BrowserRouter>, document.getElementById('root'));
//registerServiceWorker();

register.js

import React, { useState } from 'react'
import axios from "axios";
import { useNavigate } from "react-router-dom";
 
const Register = () => {
    const [name, setName] = useState('');
    const [email, setEmail] = useState('');
    const [password, setPassword] = useState('');
    const [confPassword, setConfPassword] = useState('');
    const [msg, setMsg] = useState('');
    const navigate = useNavigate();
 
    const Register = async (e) => {
        e.preventDefault();
        try {
            await axios.post('http://localhost:5000/users', {
                name: name,
                email: email,
                password: password,
                confPassword: confPassword
            });
            navigate.push("/");
        } catch (error) {
            if (error.response) {
                setMsg(error.response.data.msg);
            }
        }
    }
 
    return (
        <section className="hero has-background-grey-light is-fullheight is-fullwidth">
            <div className="hero-body">
                <div className="container">
                    <div className="columns is-centered">
                        <div className="column is-4-desktop">
                            <form onSubmit={Register} className="box">
                                <p className="has-text-centered">{msg}</p>
                                <div className="field mt-5">
                                    <label className="label">Name</label>
                                    <div className="controls">
                                        <input type="text" className="input" placeholder="Name"
                                            value={name} onChange={(e) => setName(e.target.value)} />
                                    </div>
                                </div>
                                <div className="field mt-5">
                                    <label className="label">Email</label>
                                    <div className="controls">
                                        <input type="text" className="input" placeholder="Email" value={email} onChange={(e) => setEmail(e.target.value)} />
                                    </div>
                                </div>
                                <div className="field mt-5">
                                    <label className="label">Password</label>
                                    <div className="controls">
                                        <input type="password" className="input" placeholder="******" value={password} onChange={(e) => setPassword(e.target.value)} />
                                    </div>
                                </div>
                                <div className="field mt-5">
                                    <label className="label">Confirm Password</label>
                                    <div className="controls">
                                        <input type="password" className="input" placeholder="******" value={confPassword} onChange={(e) => setConfPassword(e.target.value)} />
                                    </div>
                                </div>
                                <div className="field mt-5">
                                    <button className="button is-success is-fullwidth">Register</button>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </section>
    )
}
 
export default Register

enter image description here

1 Answers

It's because you apply browserrouter two times in your code first time inside your index.js file and second in the app.js file you have to remove one of the browserrouter tag from your code

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

Related