В Реакте 16.2 улучшенная поддержка Fragments
была добавлена. Более подробную информацию можно найти в блоге React здесь.
Мы все знакомы со следующим кодом:
render() {
return (
// Extraneous div element :(
<div>
Some text.
<h2>A heading</h2>
More text.
<h2>Another heading</h2>
Even more text.
</div>
);
}
Да, нам нужен контейнерный div, но это не так уж важно.
В Реакте 16.2 мы можем сделать это, чтобы избежать окружающего контейнера div:
render() {
return (
<Fragment>
Some text.
<h2>A heading</h2>
More text.
<h2>Another heading</h2>
Even more text.
</Fragment>
);
}
В любом случае нам все еще нужен контейнерный элемент, окружающий внутренние элементы.
Мой вопрос, почему использование Fragment
предпочтительнее? Это помогает с производительностью? Если так, то почему? Хотелось бы немного понимания.
div
том, что вам не всегда нужен элемент-обертка. Элементы обертки имеют значение, и обычно для удаления этого значения требуются дополнительные стили. <Fragment>
это просто синтаксический сахар, который не отображается. Существуют ситуации, когда создание оболочки очень сложно, например, в SVG, где <div>
его нельзя использовать, и <group>
это не всегда то, что вам нужно.