일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- java
- Spring
- js
- app.use
- 리액트
- Middleware
- git
- qqOperater
- mybatis
- int와 integer
- 자바스크립트
- dart
- 깃허브
- 추상클래스
- DB
- 배열
- React
- 오류
- 다형성
- Oracle
- push함수
- 콘솔게임
- 코딩테스트
- 삼항연산자
- Pug
- Node.js
- 네임드생성자
- Sort()
- 생성자
- Today
- Total
목록리액트 (2)
평행코드
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/czdedF/btr6oee6AGR/kiRB4QTk1qqJtsrQzkNyjk/img.jpg)
컴포넌트가 destroy될 때도 코드를 실행할 수 있다. useEffect는 함수를 받고, 이 함수는 dependency가 변화할 때 호출된다. 현재는 dependency가 비어있으니, 컴포넌트가 처음 생성될 때 함수가 호출된 후 다시 호출되지 않는다. 그래서 컴포넌트가 파괴될 때도 함수를 실행하고 싶다면, useEffect 함수가 새로운 함수를 return하게 만들어주어야한다. 왜냐면 deps 가 비어있으면 자동으로 컴포넌트가 파괴될 때 cleanup 함수가 실행되는데 그과정이 리렌더링으로 useEffect함수가 실행되고, 클린업하면서 전에있던 이펙트인 console.log("hi :)")가 삭제되며, 새로운 이펙트 함수인 return함수가 실행되기 때문이다.
설정 가능한 컴포넌트 마크업이나 스타일을 최대한 재사용할 수 있다. Btn 컴포넌트를 어떤 스타일로 설정했는데, 바꾸고 싶은 스타일은 fontSize와 text 이며, 복붙대신 어떤 prop들을 받을 수 있는 Btn 컴포넌트를 만든 것이다. Btn 컴포넌트의 이 prop들에 접근할 수 있는 방법은, Btn 컴포넌트 함수의 첫 번째 인자 안에서 가능하다. 첫 번째 인자 안에서, 전달된 모든 prop들을 하나의 오브젝트로서 받는다. Btn 컴포넌트의 prop들에게 접근하려면 prop.text 등르오 적어준다. 아니면 오브젝트 안 요소들을 쉽게 빼올 수 있는 ES6의 쉬운 방법을 써도 된다. ex) Btn({text})... ... {text} 또는 Btn(props)... ... {props.text}