Шаблон для прототипирования компонентов на reactjs в браузере
Недавно мне потребовалось очень быстро получить работающий прототип компонента на react, а под рукой не оказалось стандартных инструментов для создания проекта. Поэтому я немного подумал — и создал шаблон для написания компонентов прямо в браузере.
Плюс данного решения — можно уже через минуту после клонирования проекта с шаблоном получить рабочий компонент, поддерживается ES6, ES7, JSX.
Минусов больше — решение нестандартное, официально не поддерживается, грузится долго (загрузка библиотек, транспайлинг). Но все эти нюансы не имеют никакого значения, если вам просто нужно получить рабочий прототип — посмотреть, проверить и переписать всё нормально.
Актуальную версию исходников можно получить по ссылке.
Сам код простой:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Minimal React</title> <link rel="stylesheet" type="text/css" href="style.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.4.4/babel.min.js"></script> <script src="https://code.jquery.com/jquery-2.2.3.min.js"></script> <script src="https://fb.me/react-15.0.1.min.js"></script> <script src="https://fb.me/react-dom-15.0.1.min.js"></script> <script> $(function(){ eval(Babel.transform($('script[type="text/babel"]').text(), { presets: ['es2015', 'react', 'stage-0'] }).code) }) </script> </head> <body> <div id="app"></div> <script type="text/babel"> class HelloWorld extends React.Component { state = { greeting: 'Hello world!' } render() { return ( <div className="greeting">{this.state.greeting}</div> ) } } </script> <script type="text/babel"> ReactDOM.render(<HelloWorld/>, document.getElementById('app')) </script> </body> </html>
Как видно, для работы компонентов необходимо код размещать внутри тегов script
с атрибутом type="text/babel"
. Содержимое тегов конкатенируется, преобразуется в ES5 и исполняется.
Вот так всё просто.
Комментарии
Comments powered by Disqus