티스토리 뷰

React

[React] 입문 / Props 응용 / re-render

에스파니아 2022. 3. 8. 16:36
728x90
반응형

전달 할 수 있는 Props 종류



1. Component의 State 전달

Counter.js 파일
import React, {useState} from "react"
import OddEvenResult from "./OddEvenResult";

const Counter = () => {
    const [count, setCount] = useState(0);

    const onIncrease = () => {
        setCount(count+1);
    }

    const onDecrease = () => {
        setCount(count-1);
    }

    return (
        <div>
            <h2>{count}</h2>
            <button onClick={onIncrease}>+</button>
            <button onClick={onDecrease}>-</button>
            <OddEvenResult count={count}/>	//props에 Component State 전달
        </div>
    );
};

export default Counter;​


OddEvenResult.js 파일

const OddEvenResult = ({count}) => {
    console.log(count);	//Counter Component의 State 값 변경될 때마다 출력
    return <>{count % 2 == 0 ? "짝수" : "홀수"}</>
}

export default OddEvenResult;​


2. JSX Element 요소 전달

Counter.js 파일
import React, {useState} from "react"
import OddEvenResult from "./OddEvenResult";
import Container from "./Container";

const Counter = () => {
    const [count, setCount] = useState(0);

    const onIncrease = () => {
        setCount(count+1);
    }

    const onDecrease = () => {
        setCount(count-1);
    }

    return (
        <Container>
            <h2>{count}</h2>
            <button onClick={onIncrease}>+</button>
            <button onClick={onDecrease}>-</button>
            <OddEvenResult count={count}/>
        </Container>
    );
};

export default Counter;

 

 Container.js 파일

const Container = ({children}) => {
    return (
        <div style={{margin: 20, padding: 20, border: "1px solid red"}}>
            {children}
        </div>
    );
};

export default Container;

 

 

re-render



1. Component 의 State가 변경 될 때, 해당 Component는  re-render 된다.

2. 부모 Component 로 부터 전달 받은 props 가 바뀔 때 마다 부모 Component와 자식 Component re-render 된다.

3. 부모 Component 가 re-render 되면 자식 Componentre-render 된다.



 

참고





728x90

'React' 카테고리의 다른 글

[React] 실습 / 사용자 입력 처리  (0) 2022.04.18
[React] 기본 / Life Cycle / Hooks  (0) 2022.03.23
[React] 입문 / Props  (0) 2022.03.08
[React] 입문 / State (상태)  (0) 2022.03.04
[React] 입문 / JSX  (0) 2022.03.03
댓글
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/01   »
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
글 보관함