【发布时间】:2020-03-01 08:37:09
【问题描述】:
考虑以下几点:
import { Route, Link, Switch } from "react-router-dom";
import { Redirect } from 'react-router'
function Index() {
return <h2>Home</h2>;
}
function About() {
return <h2>About</h2>;
}
function Users() {
return <h2>Users</h2>;
}
function NotFound() {
return <h2>Not found</h2>;
}
function App() {
return(
<div>
<h1>Welcome to Next.js!</h1>
<nav>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/about/">About</Link>
</li>
<li>
<Link to="/users/">Users</Link>
</li>
<li>
<Link to="/people/">People</Link>
</li>
</ul>
</nav>
<Switch>
<Route path="/" exact component={Index} />
<Route path="/about/" component={About} />
<Route path="/users/" component={Users} />
<Redirect from="/people/" to="/users/" />
<Route component={NotFound}/>
</Switch>
</div>
);
}
export default App;
有什么东西可以阻止人们这样做吗?
import { Route, Switch } from "react-router-dom";
import LinkNav from './LinkNav'
import { Redirect } from 'react-router'
function Index() {
return <h2>Home</h2>;
}
function About() {
return <h2>About</h2>;
}
function Users() {
return <h2>Users</h2>;
}
function NotFound() {
return <h2>Not found</h2>;
}
function App() {
return(
<div>
<h1>Welcome to Next.js!</h1>
<nav>
<LinkNav/>
</nav>
<Switch>
<Route path="/" exact component={Index} />
<Route path="/about/" component={About} />
<Route path="/users/" component={Users} />
<Redirect from="/people/" to="/users/" />
<Route component={NotFound}/>
</Switch>
</div>
);
}
有什么缺点吗?
【问题讨论】:
-
我看不出有什么问题。我一直这样做。如果我可以问,您有什么顾虑?
-
@euvs 之所以这么问,是因为我正在使用 Next.js,并且在使用带有 Next 的
Link组件的Semantic-UI-React菜单项时遇到了麻烦。 stackoverflow.com/questions/58653701/…所以我正在考虑使用github.com/toomuchdesign/next-react-router
标签: reactjs react-router react-router-v4 react-component react-router-component