React λ¬Έμ κΈ°μ¬μ κ΄μ¬μ κ°μ Έμ£Όμ μ κ°μ¬ν©λλ€!
νμ΄μ€λΆFacebookμ νλ‘μ νΈ μ°Έκ°μκ° μ€μν΄μΌ νλ νλ κ°λ Ήμ μ±ννμ΅λλ€. μ λ¬Έμ μ½μ΄λ³΄μΈμ. μ΄λ€ νλμ΄ νμ©λκ³ νμ©λμ§ μλμ§ νμΈν μ μμ΅λλ€.
κΈ°μ λ¬Έμλ₯Ό μμ±ν λ μΌλμ λμ΄μΌ ν μ¬νμ λν μ’μ μμ½μ λλ€.
μΉμ λ§λ€ μλμ μΌλ‘ λ€λ₯Έ μ€νμΌμ μ¬μ©ν©λλ€.
μ΄ λ¬Έμλ λ€μν νμ΅ μ€νμΌκ³Ό μ¬μ© μ¬λ‘λ₯Ό κ³ λ €νμ¬ λΆν λμ΄ μμ΅λλ€. λ³Έλ¬Έμ μμ ν λλ μ£Όλ³ κΈμ ν€Toneκ³Ό μ€νμΌStyleμ λ§κ² μμ±νλλ‘ μ£ΌμνμΈμ. μλ‘μ΄ κΈμ μμ±ν λλ κ°μ μΉμ μ μλ λ€λ₯Έ κΈλ€κ³Ό ν€μ λ§μΆλλ‘ νμΈμ. κ° μΉμ μ μλμ λκΈ°λ μλμμ νμΈν μ μμ΅λλ€.
React νμ΅νκΈ° μΉμ
μ κΈ°μ΄ κ°λ
μ λ¨κ³λ³λ‘ μκ°νκΈ° μν΄ λ§λ€μ΄μ‘μ΅λλ€. μ¬κΈ°μ μ 곡λλ κΈλ€μ μ΄μ μ μ€λͺ
λ μ§μμ λ°νμΌλ‘ νλ―λ‘, κΈ κ° μλ€ κ°λ
μ΄ μ€λ³΅λκ±°λ κΌ¬μ΄μ§ μλλ‘ μ£ΌμνμΈμ. λ
μλ 첫 λ²μ§Έ κΈλΆν° λ§μ§λ§ κΈκΉμ§ μμλλ‘ μ½μΌλ©° κ°λ
μ μ΅ν μ μμ΄μΌ νλ©°, μΆκ° μ€λͺ
μ μν΄ λ―Έλ¦¬ μμ κ°λ
λ€μ μ΄ν΄λ³΄μ§ μλλ‘ ν΄μΌ ν©λλ€. μ΄λ° μ΄μ λ‘ μνStateλ μ΄λ²€νΈEventλ³΄λ€ λ¨Όμ μ€λͺ
λκ³ , 'Reactλ‘ μ¬κ³ νκΈ°' ννΈμμ refλ₯Ό μ¬μ©νμ§ μλ λ± νΉμ μμκ° μ ν΄μ Έ μμ΅λλ€. λμμ 'React νμ΅νκΈ°'λ React κ°λ
μ λν μ°Έκ³ μλ£ μν μ νλ―λ‘, κ°λ
λ€μ λν μ μμ μνΈ κ΄κ³λ₯Ό μ격νκ² λ€λ£¨μ΄μΌ ν©λλ€.
API μ°Έκ³ μ μΉμ μ κ°λ μ΄ μλ APIλ³λ‘ μ 리λμ΄ μμΌλ©°, κ°λ₯ν ν λͺ¨λ κ²½μ°λ₯Ό ν¬ν¨νλ κ²μ λͺ©νλ‘ ν©λλ€. 'React νμ΅νκΈ°'μμ κ°λ¨ν λ€λ€κ±°λ μλ΅ν μμΈ μ¬νEdge Cases νΉμ κΆμ₯ μ¬νRecommendationsμ ν΄λΉ APIμ λ νΌλ°μ€ λ¬Έμμ μΆκ°λ‘ μΈκΈν΄μΌ ν©λλ€.
μ€μ€λ‘ μμ±ν μ§μΉ¨Instructionsμ μ€μ²ν΄ 보μΈμ.
μλ₯Ό λ€μ΄, λ¨κ³λ³ κ°μ΄λλ₯Ό μμ±νλ€λ©΄, μ§μ κ·Έ μ§μΉ¨μ λ°λΌκ° 보며 λλ½λ λ΄μ©μ΄λ μμκ° λ§μ§ μλ λΆλΆμ μ°Ύμ보μΈμ. μ€μ λ‘ μ§μΉ¨μ μμλλ‘ μ§ννλ€λ³΄λ©΄, μμ±μκ° μ€λͺ νμ§ μμ λ°°κ²½μ§μμ΄ μκ±°λ, λ¨κ³κ° λ€μμ¬ μλ λ±μ λ¬Έμ λ₯Ό λ°κ²¬ν μ μμ΅λλ€. κ°λ₯νλ€λ©΄ λ€λ₯Έ μ¬λμκ² μ§μΉ¨μ λ°λΌλ³΄κ² νκ³ , κ·Έλ€μ΄ μ΄λ €μμ κ²ͺλ λΆλΆμ κ΄μ°°νλ κ²λ μ’μ λ°©λ²μ λλ€. μ¬μν΄ λ³΄μ΄μ§λ§ μμμΉ λͺ»ν κ³³μμ λ¬Έμ κ° μκΈΈ μ μμ΅λλ€.
λ¨, createElement μ체λ₯Ό μ€λͺ
ν΄μΌ νλ κ²½μ°λ μμΈμ
λλ€.
ES5λ§ λ€λ£¨λ κ²½μ°λΌλ©΄ μ΄ κ·μΉμ 무μνμΈμ.
ES5μ κΈ°λ₯λ§μΌλ‘ κ°λ¨νκ² μμ±ν μ μλ κ²½μ°, ES6μ κΈ°λ₯μ 무쑰건μ μΌλ‘ μ¬μ©νμ§ λ§μΈμ
ES6κ° μμ§ λ―μ μ¬λλ λ§μ΅λλ€. μ΄λ―Έ μ¬λ¬ κ³³μμ const / let, ν΄λμ€, νμ΄ν ν¨μ λ±μ μ¬μ©νκ³ μμ§λ§, κ·Έμ μμνλ ES5 μ½λκ° κ°λ¨νκ³ κ°λ
μ±μ΄ μ’λ€λ©΄ ES5λ₯Ό μ¬μ©νλ κ²λ κ³ λ €νμΈμ.
νΉν μ΅μμ ν¨μμμλ const myFunction = () => ...κ³Ό κ°μ νμ΄ν ν¨μ λμ μ μ΄λ¦ μλ function μ μΈμ μ νΈν©λλ€. νμ§λ§ μ»΄ν¬λνΈ λ΄ this 컨ν
μ€νΈλ₯Ό μ μ§ν΄μΌ νλ κ²½μ°μλ νμ΄ν ν¨μλ₯Ό μ¬μ©νμΈμ. μλ‘μ΄ λ¬Έλ²μ μ¬μ©ν λλ μ₯λ¨μ μ λͺ¨λ λ°μ Έλ³΄κ³ κ²°μ νμΈμ.
μλ₯Ό λ€μ΄, λ€μ μ½λμ²λΌ μμ±νμ§ λ§μΈμ.
class MyComponent extends React.Component {
state = {value: ''};
handleChange = (e) => {
this.setState({value: e.target.value});
};
}λμ , λ€μμ²λΌ μμ±νμΈμ.
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.handleChange = this.handleChange.bind(this);
this.state = {value: ''};
}
handleChange(e) {
this.setState({value: e.target.value});
}
}μ€νμ μΈ μ μExperimental Proposalμ λν΄ μ€λͺ νλ κ²½μ°λΌλ©΄ μμΈλ‘ νλ, μ½λμ μ£Όλ³ κΈμμ μ€νμ μExperimentalμ λͺ μνμΈμ.
- μΈλ―Έμ½λ‘ μ μ¬μ©νμΈμ.
- ν¨μ μ΄λ¦κ³Ό κ΄νΈ μ¬μ΄μλ 곡백μ λ£μ§ λ§μΈμ. (
method () {}κ° μλ,method() {}νν.) - κ³ λ―Όλ λλ Prettierμ κΈ°λ³Έ μ€νμΌμ λ°λ₯΄μΈμ.
- Hooks, Effects, Transitions κ°μ React κ΄λ ¨ κ°λ μ νμ λλ¬Έμλ‘ μμνμΈμ.
λ§ν¬λ€μ΄Markdownμ μ½λ λΈλ‘μμλ jsλ₯Ό μ¬μ©νμΈμ:
```js
// μ½λ
```
κ°νΉ μ«μμ ν¨κ» μ¬μ©λλ λΈλ‘μ΄ μμ΅λλ€. μ΄λ νΉμ μ€μ κ°μ‘°νκΈ° μν μ©λμ λλ€.
ν μ€μ κ°μ‘°νλ μμ.
```js {2}
function hello() {
// μ΄ μ€μ΄ κ°μ‘°λ©λλ€
}
```
μΌμ λ²μλ₯Ό κ°μ‘°νλ μμ.
```js {2-4}
function hello() {
// μ¬κΈ°λΆν°
// μμν΄μ
// μ¬κΈ°κΉμ§ κ°μ‘°λ©λλ€
}
```
μ¬λ¬ λ²μλ₯Ό κ°μ‘°νλ μμ.
```js {2-4,6}
function hello() {
// μ¬κΈ°λΆν°
// μμν΄μ
// μ¬κΈ°κΉμ§ κ°μ‘°λ©λλ€
console.log('hello');
// μ΄ μ€λ κ°μ‘°λ©λλ€
console.log('there');
}
```
μ½λλ₯Ό μ΄λνκ±°λ μμλ₯Ό λ°κΏ¨λ€λ©΄, κ°μ‘°νλ μ€λ κ°μ΄ μμ ν΄μΌ νλ€λ μ μ μμ§ λ§μΈμ.
κ°μ‘° κΈ°λ₯μ λ μκ° λμΉκΈ° μ¬μ΄ ꡬ체μ μΈ λΆλΆμ μ£Όμλ₯Ό νκΈ°ν΄μ£Όλ―λ‘ μ κ·Ήμ μΌλ‘ μ¬μ©νκΈΈ κΆμ₯ν©λλ€.