import React from 'react';
import './app.css';
import Inbox from "./inbox/inbox";
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import Navbar from './nav/navbar';
import Sidebar from './sidebar/sidebar';
import Composer from './composer/composer';
function App(){
return (
<>
<Router>
<Navbar/>
<div className="main-page">
<Sidebar/>
<div className="Clicked-Item-Content">
<Routes>
<Route path='/inbox' element={<Inbox />} />
<Route path='/' element={<Composer />} />
</Routes>
</div>
</div>
</Router>
</>
)
}
export default App;
The button Link part of component
import { NavLink } from "react-router-dom";
import "./sidebar.css";
const Sidebar = () => {
return (
<div className="sidebar">
<ul>
<li>
<NavLink to ='/'>
<i className="fa-solid fa-square-plus box awesome"></i>
Composer
</NavLink>
</li>
<li>
<NavLink to ='/inbox'>
<i className="fa-solid fa-inbox box awesome"></i>
Inbox
</NavLink>
</li>
</ul>
</div>
)
}
export default Sidebar;
The Inbox component part is below when I click on this it doesn't show anything on screen screen is completely empty, and other link are working fine. My local storage is not empty. I stored an object with key value pair inside an array. When I try to map it doesn't show up on screen, it shows an empty screen.
import { useEffect, useState } from "react";
import "./inbox.css";
const Inbox = () => {
const [localStorageData, setlocalStorageData] = useState([])
useEffect(() => {
JSON.parse(localStorage.getItem('todos')).then(data=> setlocalStorageData(data))
console.log(localStorageData)
.catch(err=> console.log(err))
}, [localStorageData])
return (
<>
{localStorageData.length > 0 &&
localStorageData.map((element, index)=> (
<div className="inbox" key={index}>
<div className="bullet">➣</div>
<div className="msg">{element.message}</div>
<div className="btn-container">
<div className="date">{element.title}</div>
<div className="edit btn hide">
<i className="fa-solid fa-pen-to-square"></i>
</div>
<div className="delete btn hide">
<i className="fa-solid fa-trash"></i>
</div>
</div>
</div>
)
)}
</>
)
}
export default Inbox;