html - href vs 链接反应?JS 不是基于 HTML 标签加载的
问题描述
我试图了解这是否是 REACT 或 css 问题,例如。我在 React 组件中有以下代码:
<div className="left">
<Link to="/" className="brand">
<img src={Logo} alt="" />
</Link>
</div>
<div className="right">
<div className="primary-nav">
<ul className="navigation">
<li className="active">
<Link to="/">Home</Link>
</li>
</ul>
</div>
</dic>
第一个链接不起作用,主要是如果 Link 元素被包裹在 Div 或任何其他看起来它没有正确重新加载页面的情况下。例如,一些 .js 文件未加载,dom 中的图片,因此页面无法正常工作。而如果我使用第二个链接,一切都按预期工作。我看不出 React 有什么不同,因此在我看来是 CSS 问题?
一旦我按照下面的方法包装了第一个 div 元素,它就起作用了。
<div className="primary-nav">
<ul className="left">
<li>
<Link to="/index.html" className="brand">
<img src={Logo} alt="" />
</Link>
</li>
</ul>
</div>
此外,如果我将此链接替换为 a 和 href 元素,那么这也可以!
我不确定这是否与 Css 问题有关,如果是,那为什么会影响页面重新加载?或者,如果这是 React 专家看到的直接并且很容易修复的东西?
解决方案
不要将您的 React 代码视为简单的 HTML 。实际上事情是那反应使用 JSX 代码。这意味着它与原始 html 有点不同。没错,最后 React 将 jsx 代码转换为 Html 。但内部反应管理一个 JSX 元素。
现在我们要去你的点 href 和 Link 是不同的东西,因为 href 是使用 html 默认 javascript 的 html 属性,或者你可以说核心 javascript 但 Link 意味着你正在跟踪某些东西,或者我们可以说使用你自己的 javascript 管理某些东西。请参阅注意一件事,当您使用 href 时,您的页面将刷新,而当您使用Link时,它可能不会刷新您的整个 Dom 取决于您的编码,但是当您使用 react 时,您需要使用 Link更好的实践。它还将提高您的 Web 应用程序的质量。
推荐阅读
- r - 有什么方法可以让我在 Shiny 中制作 networkd3 图表以在点击时更改?
- xamarin.forms - 商米 L2 与 Xamarin.Forms
- reactjs - Reactjs 嵌套路由:嵌套子级不渲染
- firefox - 由于地址类型不匹配而跳过 TURN 服务器
- python - 如何将列表中的元素与字符和整数相乘?
- git - 你能*真的*在 Git 中更改作者吗
- javascript - 为什么在 for of 循环中调用对象的属性不起作用?
- python - 如何从 ManyToMany 字段中提供创建新相关模型实例的选项以及 Django 表单中提供的现有选项?
- random - 这是来自 [NIST SP800-22 Revision 1a.] 的 2.5.8 示例中的印刷错误吗?
- apache-spark - withcolumn 内的数据框选择表达式