Хранение тегов в переменных и константах JSX
В переменных и константах можно хранить теги, выполняя затем их вставку в нужное место.
Смотрите пример:
function App() {
const str = <p>text</p>;
return <div>
{str}
</div>;
}
В результате рендеринга получится следующий код:
<div>
<p>text</p>
</div>
Несколько тегов в константах
Учтите, что несколько тегов, хранящихся в константе, обязательно нужно обернуть в какой-то общий тег. То есть вот так не будет работать:
function App() {
const str = <p>text1</p><p>text2</p>;
return <main>
{str}
</main>;
}
А вот так будет, так как абзацы обернуты в один тег div:
function App() {
const str = <div><p>text1</p><p>text2</p></div>;
return <main>
{str}
</main>;
}
Можно также использовать пустые теги:
function App() {
const str = <><p>text1</p><p>text2</p></>;
return <main>
{str}
</main>;
}
Теги не в одну строку
Теги, записываемые в константы, не обязательно писать на одной строке. Можно сделать и так:
function App() {
const str = <p>
text
</p>;
return <div>
{str}
</div>;
}
А можно и вот так:
function App() {
const str = (
<p>
text
</p>
);
return <div>
{str}
</div>;
}
Возврат через return
Константы с тегами можно возвращать через return:
function App() {
const str = <main>
text
</main>;
return str;
}