React. Реакт. Тестовая задача 023. Преобразование HTML в JSX
Преобразование HTML в JSX
Разберёмся, что здесь происходит:
<script src="/js/react/react.development.js"></script>
<script src="/js/react/react-dom.development.js"></script>
<script src="/js/react/babel.min.js"></script>
...
<script type="text/babel">
const { useState, createElement } = React;
const { createRoot } = ReactDOM;
const root = ReactDOM.createRoot(document.getElementById('root'));
function App() {
const [flower, setFlower] = useState('');
return (
<>
<div className="question">
<label htmlFor="flower">Ваш любимый цветок: </label>
<input
type="text"
id="flower"
value={flower}
onChange={e => setFlower(e.target.value)}
/>
</div>
<p>Ваш любимый цветок: <span className="answer">{flower}</span></p>
</>
);
}
root.render(<App />);
Преобразование HTML в JSX.
<div class="question"> <label for="flower">Ваш любимый цветок: </label> <input type="text" id="flower" /> </div> <p>Ваш любимый цветок: <span class="answer"></span></p>
С учётом всех особенностей, которые вы изучили в этом уроке, получится такой код:
<>
<div className="question">
<label htmlFor="flower">Ваш любимый цветок: </label>
<input type="text" id="flower" />
</div>
<p>Ваш любимый цветок: <span className="answer" /></p>
</>
В некоторых компаниях верстальщик — это отдельная профессия и обычно он переводит макет в HTML-страницу. А вот HTML-страницу предстоит оживлять и переводить в JSX именно вам.
Некоторые IDE преобразовывают HTML в JSX автоматически (например, WebStorm). VS Code по умолчанию этого не делает, но можно установить плагин (например, HTML to JSX). Также существуют онлайн-конвертеры HTML в JSX (например, transform.tools).