const element = (
<h3 class={student.color}>
{formatInfo(student)}
</h3>
)
ReactDOM.render(element,
document.getElementById('root'));
가장 이해하기 어려웠던 부분이라 꼭 집고 넘어가야했다!!
일단 component는 말 그대로 구성 요소이다. 부품처럼 내가 원하는 위치에 용도에 맞게 끼워맞춰주면 된다. 문제는 Component와 props의 경계선이다. 내가 이해하기 쉽게 정리하자면 props는 Component의 속성이자 객체이다. 여기서 중요하다. props는 Component가 생성되는 순간 props라는 객체가 생겨난다. 그래서 <Component 속성="value" />
보기와 같이 속성에 key와 value를 넣어주는 순간 props라는 객체에 담긴다. 앞의 코드를 props관점에서 해석하자면 props라는 객체에 '속성':'value'라는 프로퍼티를 담아줘~! 라고 해석한다. 여기서 키포인트는 props는 propertys의 약자라는 것이다. 그렇다 props는 객체 안에 들어있는 프로퍼티들이라는 이름을 가진 객체라는 뜻이다. 그래서 우리가 Component의 속성값으로 주어진 것들이 props라는 객체에 담기고 그 객체에 담겨있는 value에 접근해서 컴포넌트 안의 코드들을 조정할 수 있는 것이다.
이 부분이 이해되지 않아 진도를 나가도 마음에 걸렸다. 내가 이해하지 못한 키 포인트는 JSX가 사용될때 {}가 들어가야할 때였고, 언제 {}를 써줘야하고 어떤 기준으로 사용하는지 햇갈렸다.
Props는 여전히 완벽히 이해했다고 볼 순 없지만 속성으로 사용되는데 왜 객체인건지 이해가되지 않았다. 그래서 하나씩 코드를 찍을 때마다 연습장에 Component안에 적어준 속성과 값이 어디로 이동하는지 그려보았다. 중요한 부분은 어디로 이동하는지 그려보는 것이였다.