ํฐ์คํ ๋ฆฌ ๋ทฐ
์ด ๊ธ์ ๋๊ตฌ๋ ์ง ํ๋ ๋ฆฌ์กํธ [www.youtube.com/playlist?list=PL9FpF_z-xR_E4rxYMMZx5cOpwaiwCzWUH]์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค.
ํ๋ก ํธ์ค๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ : React, Angular, Vue ๋ฑ
MVC, MVVM, MVW ๋ฑ์ ์ฌ์ฉํ๋ ๊ธฐ์กด ์น ํ๋ ์์ํฌ/๋ผ์ด๋ธ๋ฌ๋ฆฌ
๊ณตํต์ : Model (์๋ฐฉํฅ ๋ฐ์ธ๋ฉ)
๋ณํ(Mutation)
๊ทธ๋ฅ mutation์ ํ์ง ๋ง๊ณ , ๋ฐ์ดํฐ๊ฐ ๋ฐ๋๋ฉด ๋ทฐ๋ฅผ ๋ ๋ ค๋ฒ๋ฆฌ๊ณ ์๋ก ๋ง๋ค์!
Virtual DOM : ๊ฐ์์ ๋์ ๋ ๋๋ง์ ํ๊ณ ๊ธฐ์กด์ ๋์ ๋น๊ตํ ํ, ์ ๋ง ๋ณํ๊ฐ ํ์ํ ๊ณณ์๋ง ์ ๋ฐ์ดํธ ํด์ค
Webpack
์ฝ๋๋ค์ ์์กดํ๋ ์์๋๋ก ์ ํฉ์ณ์ ํ๋ ๋๋ ์ฌ๋ฌ๊ฐ์ ํ์ผ๋ก ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค์ด๋
-> 'bundling์์ ' ์ด๋ผ๊ณ ํจ
Babel : JS ๋ณํ ๋๊ตฌ
#8 Props
Props ์ฌ์ฉ - ์์ ์ปดํฌ๋ํธ
{this.props.name}
Props ์ฌ์ฉ - ๋ถ๋ชจ ์ปดํฌ๋ํธ
<MyName name="๋ฆฌ์กํธ" />;
MyName์ ํด๋์ค๋ช ์ด๊ณ , ๋ค์ name="๋ฆฌ์กํธ" ๊ฐ props์ด๋ค.
๋ํดํธ ๊ฐ ์ค์ ๋ฐฉ๋ฒ1 - ํด๋์ค ๋ด๋ถ์์ (์ต์ ์)
static defaultProps = {
name: '๊ธฐ๋ณธ์ด๋ฆ'
};
๋ํดํธ ๊ฐ ์ค์ ๋ฐฉ๋ฒ2 - ํด๋์ค ์ธ๋ถ์์
MyName.defaultProps = {
name: '๊ธฐ๋ณธ์ด๋ฆ'
};
<MyName.js>
import React, { Component } from 'react';
class MyName extends Component {
static defaultProps = {
name: '๊ธฐ๋ณธ์ด๋ฆ'
};
render() {
return (
<div>
์๋
ํ์ธ์ ์ ์ด๋ฆ์ <b>{this.props.name}</b>์
๋๋ค.
</div>
);
}
}
export default MyName;
<App.js>
import React, { Component } from 'react';
import MyName from './MyName';
class App extends Component {
render() {
return <MyName name="๋ฆฌ์กํธ" />;
}
}
export default App;
ํจ์ํ ์ปดํฌ๋ํธ
์์) MyName.js
import React from 'react'; //{ Component } ์ญ์
const MyName = ({ name }) => { // ๋น๊ตฌ์กฐํ ํ ๋น
return <div>์๋
ํ์ธ์ ์ ์ด๋ฆ์ {name}์
๋๋ค.</div>;
};
MyName.defaultProps = {
name: '๊ธฐ๋ณธ์ด๋ฆ'
};
export default MyName;
#9 State
state๋ ์ปดํฌ๋ํธ ๋ด๋ถ์์ ๋ณ๊ฒฝ ๊ฐ๋ฅํ๋ฉฐ, ๋ณ๊ฒฝ์ ์ฌ์ฉํ๋ ํจ์๋ setState()์ด๋ค.
state๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค rerendering์ ํ๋ค.
(rendering์ด๋? render() ํจ์ ํธ์ถ์ ๋ปํจ)
**props VS State**
props | State | |
๋ฐ์ดํฐ ์ ๋ฌ ๋ฐฉํฅ | ๋ถ๋ชจ -> ์์ | ์๊ธฐ ์์ |
์์ ๊ฐ๋ฅ ์ฌ๋ถ | ์ฝ๊ธฐ์ ์ฉ(๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅ) | ๋ด๋ถ ๋ณ๊ฒฝ ๊ฐ๋ฅ |
<Counter.js>
import React, { Component } from 'react';
class Counter extends Component {
state = {
number: 0
};
handleIncrease = () => {
this.setState({
number: this.state.number + 1
});
};
handleDecrease = () => {
this.setState({
number: this.state.number - 1
});
};
render() {
return (
<div>
<h1>์นด์ดํฐ</h1>
<div>๊ฐ: {this.state.number}</div>
<button onClick={this.handleIncrease}>+</button>
<button onClick={this.handleDecrease}>-</button>
</div>
);
}
}
export default Counter;
<App.js>
import React, { Component } from 'react';
import Counter from './Counter';
class App extends Component {
render() {
return <Counter />;
}
}
export default App;
#10 LifeCycle API
๋ผ์ดํ์ฌ์ดํด ์ข ๋ฅ
1. ๋ํ๋ ๋
2. ์ ๋ฐ์ดํธ ๋ ๋
โ props๊ฐ ๋ฐ๋ ๋
โก state๊ฐ ๋ฐ๋ ๋
โข ๋ถ๋ชจ ์ปดํฌ๋ํธ๊ฐ ๋ฆฌ๋ ๋๋ง๋ ๋
โฃ this.forceUpdate๋ก ๊ฐ์ ๋ก ๋ ๋๋ง์ ํธ๋ฆฌ๊ฑฐํ ๋
3. ์ฌ๋ผ์ง ๋
์๊ธฐX. ์๊ณ ์๋ค๊ฐ ์ฌ์ฉํด์ผํ๋ ์ํฉ์ ์ฐ๋ฉด ๋๋ค.
Mounting : ์ปดํฌ๋ํธ๊ฐ ๋ธ๋ผ์ฐ์ ์์ ๋ํ๋ ๋
Updating : ์ปดํฌ๋ํธ์ props๋ state๊ฐ ๋ฐ๋์์ ๋
Unmounting : ์ปดํฌ๋ํธ๊ฐ ๋ธ๋ผ์ฐ์ ์์ ์ฌ๋ผ์ง ๋
- constructor : ์์ฑ์ ํจ์ - ์ปดํฌ๋ํธ๊ฐ ์๋ก ๋ง๋ค์ด ์ง ๋ ๊ฐ์ฅ ๋จผ์ ํธ์ถ๋๋ ํจ์, state ์ด๊ธฐํ ๋ฑ
- getDerivedStateFromProps : props๋ก ๋ฐ์ ๊ฐ์ state์ ๋๊ธฐํ์ํค๊ณ ์ถ์ ๋
- render : ์ด๋ค ๋์ ๋ง๋ค์ง, ๋ด๋ถ ํ๊ทธ์ ์ด๋ค ๊ฐ์ ์ ๋ฌํด ์ค์ง
- React updates Dom and refs
- componentDidMount : ์ค์ ๋ก ๋ธ๋ผ์ฐ์ ์ ๋ํ๋ ๋/ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(์ฐจํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ) ์ฌ์ฉ ์ ํน์ ๋์ ์ฐจํธ๋ฅผ ๊ทธ๋ ค๋ฌ๋ผ๋ ์์ ์ฝ๋ ์์ฑ/ ๋คํฌ์ํฌ, api, ajax ์์ฒญ/ ์ปดํฌ๋ํธ ๋ํ๋ ๋ค ๋ช์ด ๋ค ์ด๋ฒคํธ(์คํฌ๋กค, ํด๋ฆญ ๋ฑ) ํ๊ณ ์ถ์ ๋, ์ด๋ฒคํธ ๋ฆฌ์ค๋ ๋ฑ
- shouldComponentUpdate : ์ปดํฌ๋ํธ๊ฐ ์ ๋ฐ์ดํธ ๋๋ ์ฑ๋ฅ์ ์ต์ ํ ์ํค๊ณ ์ถ์ ๋, virtual dom์๋ ๋๋๋ง ํ ์ง ๋ง์ง ๊ฒฐ์ (true์ผ ๋ ๋ฐ์ ๊ฒ๋ค ํธ์ถ, false๋ฉด ํธ์ถX)
- getSnapshotBeforeUpdate : ๋ ๋๋ง ํ ๊ฒฐ๊ณผ๋ฌผ์ด ๋ธ๋ผ์ฐ์ ์ ๋ฐ์๋๊ธฐ ๋ฐ๋ก ์ง์ ์ ํธ์ถ๋๋ ํจ์
- componentDidUpdate : ์ปดํฌ๋ํธ๊ฐ ์ ๋ฐ์ดํธ ๋์์ ๋ ํธ์ถ๋๋ ํจ์
- componentWillUmmount : componentDidMount์์ ์ค์ ํ ๋ฆฌ์ค๋๋ฅผ ์์จ ๋
- * componentDidCatch : ๋ฒ๊ทธ์ก์ ๋
- Total
- Today
- Yesterday
- React
- ๋จธ์ ๋ฌ๋
- docker
- ํ ์ํ๋ก์ฐ
- ๋ฆฌ์กํธ
- ๋ฆฌ์กํธ ํ
- Docker&Kubernetes:์ค์ ๊ฐ์ด๋-2022๋ ํ
- ๋ฆฌ์กํธ setState
- ๋ฆฌ์กํธ ์ปดํฌ๋ํธ
- ๋จ๊ธฐ์ง์ค๊ณผ์
- GCP
- React DOM
- ์ํ์ฝ๋ฉ ๋ฆฌ์กํธ
- ๊ตฌ๊ธ
- ๋์ปค
- ํด๋ผ์ฐ๋
- ๋ฆฌ์กํธ state
- machine learning
- Cloud
- ๋ฆฌ์กํธ ๊ณต์๋ฌธ์
- ๋ฆฌ์กํธ useEffect
- ๋ฆฌ์กํธ ๊ธฐ์ด
- ML
- ๋ฆฌ๋์ค
- ๋ฆฌ์กํธ ๋ ๋๋ง
- ๋ฆฌ๋์ค store
- React Hook
- ๊ตฌ๊ธํด๋ผ์ฐ๋ํ๋ซํผ
- ์ปดํฌ๋ํธ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |