【发布时间】:2024-05-19 06:10:01
【问题描述】:
我在我的 App.js 中使用了 React js 内存路由器,如下所示 -
import logo from './logo.svg';
import './App.css';
import './Components/Login'
import Login from './Components/Login';
import {useSelector} from 'react-redux';
import { useEffect } from 'react';
import Welcome from './Components/Welcome';
import{MemoryRouter as Router, Route, Switch} from 'react-router-dom'
function App() {
const state = useSelector(state => state.allReducers)
console.log(state.user.isValid);
return (
<Router>
<Switch>
<Route exact="/" component={Login}></Route>
<Route exact="/" component={Welcome}></Route>
</Switch>
<div className="App">
{state.user.isValid==false ||state.user.isValid== undefined ? <Login></Login> : <Welcome name={state.user.userName}></Welcome>}
</div>
</Router>
);
}
export default App;
但这会在屏幕上显示我的Login 组件两次。
我怎样才能避免这种情况?
【问题讨论】:
-
第一个来自
<Route exact="/" component={Login}></Route>,第二个来自三元内的<Login></Login>。不确定您在这里实际想要实现的目标(正如@GabrielLupu 所说,您的路线肯定是错误的)
标签: javascript reactjs react-redux react-router