Skip to content

Latest commit

 

History

History
60 lines (41 loc) · 2.51 KB

File metadata and controls

60 lines (41 loc) · 2.51 KB

8 - React

Теперь мы начнем генерировать наше приложение с помощью React.

Сначала установим React и ReactDOM:

  • запустите yarn add react react-dom

Эти два пакета будут включены в раздел "dependencies", а не "devDependencies", потому что, в отличие от инструментов разработки, они должны быть в итоговой клиентской сборке (production).

Давайте переименуем файл src/client/app.js в src/client/app.jsx и напишем в нем немного кода на React и JSX:

import 'babel-polyfill';

import React, { PropTypes } from 'react';
import ReactDOM from 'react-dom';
import Dog from '../shared/dog';

const dogBark = new Dog('Browser Toby').bark();

const App = props => (
  <div>
    The dog says: {props.message}
  </div>
);

App.propTypes = {
  message: PropTypes.string.isRequired,
};

ReactDOM.render(<App message={dogBark} />, document.querySelector('.app'));

Примечание: Если вы не знакомы с React или его PropTypes (типы параметров), ознакомьтесь сначала с ним и затем возвращайтесь в это руководство. В следующих главах мы будем использовать React, поэтому вам понадобится хорошее его понимание.

В Gulp файле, измените в clientEntryPoint расширение на .jsx:

clientEntryPoint: 'src/client/app.jsx',

Поскольку мы используем синтаксис JSX, нам так же нужен Babel для его обработки. Установите React Babel preset, который научит Babel обрабатывать JSX синтаксис yarn add --dev babel-preset-react, и откорректируйте раздел babel в package.json следующим образом:

"babel": {
  "presets": [
    "latest",
    "react"
  ]
},

Теперь, после запуска yarn start, открыв index.html, мы должны увидеть "The dog says: Wah wah, I am Browser Toby", сгенерированное React.

Следующий раздел: 9 - Redux

Назад в предыдущий раздел или Содержание.