Javascript 有没有办法不使用React路由器重新加载整个html正文?
我的React项目的App.js文件有如下路径:Javascript 有没有办法不使用React路由器重新加载整个html正文?,javascript,html,reactjs,react-router-dom,react-bootstrap,Javascript,Html,Reactjs,React Router Dom,React Bootstrap,我的React项目的App.js文件有如下路径: <div> <Background /> <Navbarr /> <Switch> <Route path="/" component={Home} exact /> <Route path="/news" component={News} />
<div>
<Background />
<Navbarr />
<Switch>
<Route path="/" component={Home} exact />
<Route path="/news" component={News} />
<Route path="/reserve" component={Reserve} />
<Route path="/admin" component={Admin} />
</Switch>
</div>
在我的导航栏组件中,我有设置路线的链接,例如:
<Nav.Link
href="/news"
name="news"
active={active === "/news"}
onClick={() => setActive("/news")}
>
News
</Nav.Link>
setActive(“/news”)}
>
新闻
当我点击任何一个链接时,我希望它只改变我的页面中的组件。相反,它似乎重新加载了整个html正文(我的背景组件闪烁,尽管它有相同的图片)
有办法做到这一点吗?您可以使用
react router dom
的链接
,并使用到道具而不是href
来使用客户端路由
import { Link } from "react-router-dom";
<Link
to="/news"
name="news"
active={active === "/news"}
onClick={() => setActive("/news")}
>
News
</Link>
这正是我想要的。谢谢
import { Link } from "react-router-dom";
<Nav.Link
as={Link} // --> render as react-router-dom Link
to="/news"
name="news"
active={active === "/news"}
onClick={() => setActive("/news")}
>
News
</Nav.Link>