React, ReactDOM 설치
yarn add react react-do
빌드툴이 아니고 클라이언트에서 필요한 패키지라서 "dependencies"
에 설치된다.
이제 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'));
JSX
1. 자바스크립트 코드에서 XML, HTML 요소를 그대로 편하게 넣을 수 있다. (“”없이) 바벨에서 JSX로드를 사용해서 native javascript 로 변경해준다.
var a = ( <div> Welcome to <b>React CodeLab</b> </div> );
를
"use strict"; var a = React.createElement( "div", null, "Welcome to ", React.createElement( "b", null, "React.js CodeLab" ) );
이런 식으로.
2. 여러 element 를 렌더링할때 <div></div> 같은 container 로 감싸야 함
3. if Else 를 사용할 수 없다. 3항 연산자 써야함
Props
컴퍼넌트 내부의 Immutable Data