프론트 페이지는 index.js 파일로부터 로딩 되기 시작한다.
React 프로젝트의 경우, index.html 파일에서, 리액트 파일 확장자인 jsx로 만들어진 index.jsx 파일을 임포트 하며 시작된다.
Index.jsx 파일은 웹 어플리케이션을 export 하고있는 App.jsx 파일을 import 하고 있다.
Index.jsx 파일이 앱의 진입점.
개발자가 추가하는 커스텀 컴포넌트는 결과적으로 html 태그로 변환되어 사용된다.
때문에, 커스텀 컴포넌트를 만들어서 사용할때는 이름 충돌이 일어나지 않도록, Uppercase로 시작하도록 해야한다.
리액트 함수에서는 하나의 prop만 받으며 일반적으로 props라는 명칭으로 사용한다.
단, 하나의 값만 받을수 있는게 아니라 prop이라는 객체로 받는 방식이다.
일반적으로, 하나의 컴포넌트에 하나의 jsx function을 작성하는 방식으로 구현한다.
단, 다른 함수가, 해당 jsx 파일에 필요한 데이터를 가공한다던지 하는 방식의, dependency가 있는 경우엔 여러 함수를 포함하기도 한다.
custom component는 태그 사이에 주어진 값을 props.children 이라는 값으로 받는다.
직접적으로 children 이라는 변수값으로 받지는 않고, 태그 사이에 작성한 값을 사용하는 방식이다.
단순한 텍스트 뿐만아니라 다양한 것들이 chilren prop으로 들어갈수 있다. 예를들어 다른 react component.
export default function TabButton(props) {
return <li>
<button>{props.children}</button>
</li>;
}
사용시
<section id="examples">
<h2>Examples</h2>
<menu>
<TabButton>Components</TabButton>
</menu>
</section>
Children Prop, Attribute Props 둘중 어떤 것을 사용하는게 좋을지는 사용시 상황에 따라 다르니, 잘 고려해보고 사용하면 좋을듯 하다.
VUE 환경변수 (0) | 2024.04.28 |
---|---|
vue3 새로 추가된 기능 (0) | 2024.01.28 |
Vue2 to Vue3, 변경된 사항 정리 (0) | 2024.01.28 |
Vue JS 리스트 실습 (1) | 2024.01.10 |
Vue2 기초 익히기(5) - Vuex, Vuex state, Vuex Mutation (0) | 2023.01.06 |