html标签“/href”和navlink或Link的区别

IT技术 reactjs react-redux react-navigation react-router-v4
2021-05-14 23:34:57

html标签“/href”和react-router提供的导航页面的navlink有什么区别?我可以使用两者来将页面导航到不同的 URL,那么为什么需要引入 Navlink 或 Link?

3个回答

href属性将触发页面刷新,这将重置应用程序状态。但是 react-router 的链接和导航链接不会触发页面刷新。由于 React 大部分时间用于创建单页应用程序,因此在处理路由时请确保选择 Link 或 Navlink

如果我们使用诸如 之类的锚元素创建链接href,单击它们会导致整个页面重新加载。React Router 提供了一个<Link>组件来防止这种情况发生。单击 时<Link>,URL 将更新,呈现的内容将更改,而无需重新加载页面。所以基本上总结一下react提供的这个navlink/链接不会刷新页面,而href刷新页面

当您需要在 active 上使用样式或类属性时,您可以使用navlink

让我们看看例子:

关联

允许用户浏览您的应用程序的主要方式。将使用正确的href呈现一个完全可访问的锚标记

<Link to="/">Home</Link>

导航链接

的特殊版本,当它匹配当前 URL 时,它将向呈现的元素添加样式属性。

<NavLink to="/" activeClassName="active">Home</NavLink>