import React, { useState, useEffect } from 'react'; import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom'; import Login from './components/Login'; import Register from './components/Register'; import Chat from './components/Chat'; import { User } from './types'; function App() { const [user, setUser] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { // 检查本地存储中的用户信息 const token = localStorage.getItem('token'); const userData = localStorage.getItem('user'); if (token && userData) { try { const parsedUser = JSON.parse(userData); setUser(parsedUser); } catch (error) { console.error('解析用户数据失败:', error); localStorage.removeItem('token'); localStorage.removeItem('user'); } } setLoading(false); }, []); const handleLogin = (userData: User, token: string) => { setUser(userData); localStorage.setItem('token', token); localStorage.setItem('user', JSON.stringify(userData)); }; const handleLogout = () => { setUser(null); localStorage.removeItem('token'); localStorage.removeItem('user'); }; if (loading) { return (
); } return (
) : ( ) } /> ) : ( ) } /> ) : ( ) } /> } />
); } export default App;