【发布时间】:2019-03-27 08:36:54
【问题描述】:
ReactJs 文档说:
有时,当我们将
<div>元素添加到我们的 JSX 让我们的 React 代码工作,尤其是在处理列表时 (<ol>, <ul> and <dl>) 和 HTML<table>。在这些情况下,我们应该 而是使用 React Fragments 将多个元素组合在一起。
参考:https://reactjs.org/docs/accessibility.html
我真的很想了解我们如何通过使用<div> 或上述其他元素来打破 HTML 语义,以及 React Fragments 如何对此进行改进。
另外,我想了解破坏这种语义可能会出现什么问题。
提前致谢。
【问题讨论】:
-
有些元素不应该是 html 中其他元素的子元素。例如,锚标签不应该嵌套。或者
ul不能有div作为孩子。<React.Fragment>元素告诉 react 在当前组件的根级别有多个元素。然而,React 需要有一个根级元素。大多数开发人员会在呈现列表项的组件周围放置一个 div(例如),以解决必须有父级的问题。但这会用额外的divs 和有时无效的子 HTML 元素破坏 DOM -
有用的链接...stackoverflow.com/questions/18666915/…developer.mozilla.org/en-US/docs/Web/HTML/Element/ul看看
permitted content