Container, Presenter

김선우·2022년 6월 11일
0

Posting

목록 보기
7/60

COntainer Presenter 패턴은 쉽게말해서 구조와 기능을 다른 컴포넌트로 분리해서 작성하는 구조이다.

컨테이너에서는 기능, 즉 API요청, Error, state 등의 기능과 관련된 것들이 소스로 들어가고 이것들을 props로 Presenter로 넘겨줘서 presenter 에서 똑같은 변수를 똑같은 기능으로 사용하게 만드는 것이다.

예시이다.

// Presenter
export default function ExamplePresenter() {
  return(
    <div>
      <input type='text' onChange={props.onChangeText}/>
    </div>
  )
}
                                          
import ExamplePresenter from './example';
import { useState } from "react";

export default function ExampleContainer(){
  	
  	const [name, setName] = useState("")
  
  	const onChangeText = (event) => {
      setName(event.target.value)
    }
	return(
    	<ExamplePresneter
          onChangeText={onChangeText}
          >
    )
}

Presenter는 Container의 함수를 props로 받아서 동일한 기능을 사용하게 하는 것이다.

이 방식의 장점은 데이터 처리의 과정과 눈으로볼수있는 UI 부부분을 분리해서 볼 수 있다는 것이다.

데이터처리의 과정에서 문제가 생기면 Container를 유지보수 하면되고, UI쪽에 문제가 생긴다면 Presenter 쪽으로가서 문제를 해결하면 된다는 것이다.

profile
생각은 나중에..

0개의 댓글