【发布时间】:2021-05-05 03:57:01
【问题描述】:
我是 React JS 的新手,所以如果这个问题看起来微不足道,我很抱歉。
我在 App.js 中设置了一个 <Switch> 和多个 Routes 来将组件重定向和链接在一起。 App.js 中的第一个<Redirect> 转到ComponentA,当单击div 时,它应该转到ComponentB,但事实并非如此。经过一番摆弄,我可以让ComponentB 进行渲染,但它与ComponentA 是一致的,现在有了更多的变化,除了标题.../componentB 之外什么都没有显示。
App.js
import { ComponentA, ComponentB } from './components/Component.js';
import { BrowserRouter as Router, Route, Redirect, Switch} from 'react-router-dom';
function App() {
const [isLoggedIn, setIsLoggedIn] = useState(false);
return (
<div>
<Router exact path="/">
<Switch>
<Route exact path="/componentA" component={ComponentA}/>
<Route exact path="/componentB" component={ComponentB}/>
<Route exact path="/componentC" component={ComponentC}/>
</Switch>
{isLoggedIn ? <Redirect to="/componentA"/> : <Redirect to="/componentC"/>}
// componentC is irrelevant to the question
</Router>
</div>
);
}
组件A
import { BrowserRouter as Router, Route, Redirect, Switch} from 'react-router-dom';
function ComponentA() {
return (
<div>
<Router exact path="/">
// ... code
<Link exact to="/componentB">
<div></div>
</Link>
</Router>
</div>
);
}
ComponentB(与ComponentA在同一个文件中)
function ComponentB() {
return (
<div>Welcome to ComponentB</div>
);
}
【问题讨论】:
标签: javascript reactjs react-router components react-router-dom