<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<script src="https://unpkg.com/react@latest/dist/react.js"></script>
<script src="https://unpkg.com/react-dom@latest/dist/react-dom.js"></script>
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
</head>
<body>
<h1>
Welcome to React Everyone!
</h1>
<div id="root"></div>
<script type="text/babel">
class TitleComponent extends React.Component {
render() {
return (
<h1>
This is the Title component
</h1>
)
}
}
class DescriptionComponent extends React.Component {
render() {
return (
<p>
This is the Description
</p>
)
}
}
class Article extends React.Component {
render() {
return (
<div>
<TitleComponent />
<DescriptionComponent />
</div>
)
}
}
ReactDOM.render(
<Article />,
document.getElementById('root')
);
</script>
</body>
</html>import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
class App extends Component {
render() {
return (
<div className="App">
<div className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h2>Welcome to React</h2>
</div>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
</div>
);
}
}
export default App;
Inside App.js
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
...
export default App;
import and export
class App extends Component {
render() {
return (
<div className="App">
<div className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h2>Welcome to React</h2>
</div>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
</div>
);
}
}className, {logo}
App.css를 한번 봅시다
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
class App extends Component {
render() {
return (
<div className="App">
<div className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h2>Welcome to React</h2>
</div>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
</div>
);
}
}
export default App;
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
class App extends Component {
render() {
return (
<div className="App">
<AppHeader></AppHeader>
<AppIntro></AppIntro>
</div>
);
}
}
export default App;
Component화를 해봅시다
따로 만들어보고 싶은 프로젝트가 있으면따로 진행하셔도 좋습니다
이쁜 Bootstrap
const MenuList = (menuName, price, rating) => {
return (
<div>
<h1>{menuName}</hi>
<span>{price}</span>
<Ratings
numberOfStars={rating}
/>
</div>
)
}다만 props로 넘겨줄 뿐
Component,
State,
Props,
onClick,
setState,
Class Methods
class ReactComponent extends React.Component {
componentDidMount = () => {}
componentWillUnmount = () => {}
componentDidUpdate = (previousProps, previousState) => {}
}componentDidMount method
componentWillUnmount method
import React from 'react'
export default class QuizComponent extends React.Component {
constructor(props) {
super(props);
console.log("Inside constructor");
}
componentWillMount = () => {
console.log("I will mount soon");
}
componentDidMount = () => {
console.log("I have just mounted");
}
componentWillUnmount = () => {
console.log("I will soon be unmounted");
}
render = () => {
console.log("I have just rendered");
return (
<div>
</div>
);
}
}
class Clock extends React.Component {
constructor(props) {
super(props);
this.state = {date: new Date()};
}
componentDidMount = () => {
this.timerID = setInterval(
() => this.tick(),
1000
);
}
componentWillUnmount = () => {
clearInterval(this.timerID);
}
tick = () => {
this.setState({
date: new Date()
});
}
render = () => {
return (
<div>
<h1>Hello, world!</h1>
<h2>It is {this.state.date.toLocaleTimeString()}.</h2>
</div>
);
}
}
this.setState({})
state, props,
methods
state, props,
methods
❔
$ git clone https://github.com/paulsoh/VocabBuilder
$ cd VocabBuilder
$ yarn install
$ git checkout Q-Making-View-For-Zigbang-Data$ git checkout Q-Applying-Filters-For-Zigbang-Dataimport _ from 'lodash';
var users = [
{ 'user': 'fred', 'age': 48 },
{ 'user': 'barney', 'age': 36 },
{ 'user': 'fred', 'age': 40 },
{ 'user': 'barney', 'age': 34 }
];
_.sortBy(users, [function(o) { return o.user; }]);
// => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
_.sortBy(users, ['user', 'age']);
// => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]$ git checkout Q-Use-Lodash-Like-A-Boss