Programming

React로 개발하기!

사용자를 연구하는 개발자 2023. 4. 11. 09:27
반응형

저번 글에서, React 개발환경 세팅까지 다뤄보았다. 이제 본격적으로 React를 사용해 보자!

React 개발하기

React에서 가장 중요하고, 강력한 기능은 무엇일까?

💡 바로! component기능이라 할 수 있을 것 같다

 

코드를 작성할 때 같은 기능을 하는 코드를 중복되게 작성하는 경우 만약 그 코드가 10,000번 필요하다면 똑같은 코드를 10,000 번 작성해야 한다….(수정할 때도 10,000번???🥶)

react에서는 component를 만들어 같은 기능을 하는 코드라면 딱 하나의 함수 안에 만들어 놓고, 다음부터는 그 component만 불러오면 된다. 결국 가독성이 매우 좋아지며, 유지보수의 편의성 또한 좋아진다.

한마디로 작은 단위의 부품들을 만들어 필요할 때마다 조립해 쓰는 콘셉트로 이해하면 좋다.

function App() {
	return(
		<>
			<h1>Counter</h1>
			<button>+</button>👉🏻10
			<h1>Counter</h1>
			<button>+</button>👉🏻10       //10,000번 작성할것을....
			<h1>Counter</h1>
			<button>+</button>👉🏻10
              .
              .
              . 
		</>
	)
}
-----------------------------------------------------------------------------
//components에 만들고
function Counter(){
	return (
		<>
			<h1>Counter</h1>
			<button>+</button>👉🏻10
		</>
	)
}

function App() {             
	return(
		<>
		<Counter></Counter>         //이렇게 불러오면 끝!
		</>
	)
}

React에서 컴포넌트를 생성하고, 컴포넌트의 데이터를 각각 달리 입력하고 싶을 때는 어떻게 할까? props를 이용하면 된다.

Props는 컴포넌트에 데이터를 전달하는 방법이고, 전달된 후에는 변수를 통하여 접근할 수 있다. HTML의 속성과 비교하여 생각하면 이해가 쉽다. props는 단방향으로 부모 컴포넌트에서 자식 컴포넌트로 내려간다.

그림으로 이해해 보자면, 아래와 같이 생각하면 조금 쉽다.

function Counter({title, initValue}) {     //prpos로 title,initValue를 작성 (구조분해할당 방식)       
	return (
		<>
			<h1>{title}</h1>
			<button>+</button> 👉🏻 {initValue}
		</>
	)
}

function App() {             
	return(
		<>
		<Counter title="중간고사 카운터" initValue={10}></Counter>         
		<Counter title="기말고사 카운터" initValue={20}></Counter>         
		</>
	)
}

위의 코드의 결과물을 확인할 수 있다. 다음 글에서는 매우 매우 중요한 State를 정리해 보자!