React 의 동작 및 작성 방식 -1
2020. 8. 14. 17:30ㆍReact
반응형
React는 render 방식을 이용해서 화면을 구현한다. 별도의 페이지 이동 없이 변경되는 내용만 새롭게 화면에 그려낸다.
작성 방식으로는 크게 두 가지가 있다.
1.Class 형식으로 작성한 Component 방식
컴포넌트는 개념적으로 props를 input으로 하고 UI가 어떻게 보여야 하는지 정의하는 React Element를 output으로 하는 함수 이다.
import React,{Component} from "react";
class App extends Component {
state ={num:0}
componentWillMount() {
}
componentDidMount() {
}
render() {
const{num} = this.state
return (
<div>{num}</div>
)
}
}
해당 방식은 대표적으로 다음과 같은 Lifecycle 함수를 통해 움직인다.
1) componentWillMount() -> 컴포넌트가 DOM 상에서 제거될 때에 호출된다.
2) componentDidMount() -> 컴포넌트가 마운트된 직후, 즉 트리에 삽입된 직후에 호출된다.
-> DOM 노드가 있어야 하는 초기화 작업은 이 메서드에서 이루어지면 된다.
-> 외부에서 데이터를 불러와야 한다면, 네트워크 요청을 보내기 적절한 위치이다.
3) render() ->클래스 컴포넌트에서 반드시 구현돼야하는 유일한 메서드
import React,{Component} from "react";
class App extends Component {
state ={num:0}
componentDidMount(){
console.log("동작")
}
componentWillMount(){
console.log("동작2")
}
click = () => {
const{num} = this.state
console.log(num)
}
render() {
const{num} = this.state
const {click} = this;
return (
<div>
<button onClick={click}>{num}</button>
</div>
)
}
}
export default App;
다음과 같은 코드의 콘솔에서는
동작2 -> 0 -> 동작의 순서로 나타난다. componentWillMount()가 Dom 호출 전에 실행되고 화면 렌더링이 진행되고 바로 componentDidMount()이 실행됨을 알게 되었다.
반응형
'React' 카테고리의 다른 글
React - img src 경로 (0) | 2020.09.09 |
---|---|
React - fetch cors 문제 해결 (0) | 2020.09.06 |
React- session (0) | 2020.09.06 |
React - functional component에서 onclick (0) | 2020.09.06 |
React - useEffect에서 데이터 페칭 (0) | 2020.08.30 |