

풀이
App.js 부분(부모 컴포넌트)
B_Comment_Exam.js 부분 (자식 컴포넌트)
styles.css
'React > 실습' 카테고리의 다른 글
| 반복문을 활용한 예제(2) (0) | 2023.08.31 |
|---|---|
| 삼항연산자를 이용한 실습 (0) | 2023.08.31 |
| 조건문을 활용한 예제 (0) | 2023.08.31 |
| 반복문을 활용한 예제 (0) | 2023.08.31 |
| useState 이용 4가지 변수 넣기 (0) | 2023.08.31 |


App.js 부분(부모 컴포넌트)
B_Comment_Exam.js 부분 (자식 컴포넌트)
styles.css
| 반복문을 활용한 예제(2) (0) | 2023.08.31 |
|---|---|
| 삼항연산자를 이용한 실습 (0) | 2023.08.31 |
| 조건문을 활용한 예제 (0) | 2023.08.31 |
| 반복문을 활용한 예제 (0) | 2023.08.31 |
| useState 이용 4가지 변수 넣기 (0) | 2023.08.31 |



| 리액트의 조건문 : 삼항연산자를 사용한 예제 (0) | 2023.08.31 |
|---|---|
| map, filter (0) | 2023.08.31 |
| CSS 적용 (0) | 2023.08.30 |
| JSX 문법 (0) | 2023.08.30 |
| Props (0) | 2023.08.30 |

1. 우선 자식 컴포넌트를 생성해줍니다.
2. 자식 컴포넌트 이름과 똑같은 css 파일을 따로 생성해줍니다.
3. css 파일을 자식 컴포넌트에 import 시켜줍니다.

| map, filter (0) | 2023.08.31 |
|---|---|
| 리액트 컴포넌트의 생명주기(LifeCycle) : 생성/수정 (0) | 2023.08.30 |
| JSX 문법 (0) | 2023.08.30 |
| Props (0) | 2023.08.30 |
| 화면 출력 (0) | 2023.08.30 |

JSX는 편리한 문법이지만 올바르게 사용하기 위해 규칙을 따라야 합니다.
컴포넌트에 여러 요소가 있다면 반드시 부모 요소 하나로 감싸야 합니다.
지난번 hello-react 프로젝트의 src 폴더 안 App.js 파일을 열어보겠습니다.
이러한 형태의 코드는 작동하지 않습니다. 터미널을 열어 웹 브라우저에서 확인해 볼까요?

이러한 오류는 요소들이 부모 요소 하나에 의하여 감싸져 있지 않기 때문에 오류가 발생한 것입니다.
이러한 오류 수정은 아래 코드와 같이 작성하면 해결됩니다.
요소사이에 <div></div> 태그로 감싸주면 오류가 해결됩니다.

중요한 JSX 규칙 중 하나는 return 이후에는 한 개의 태그로 둘러싸여 있어야 한다는 것입니다.
또는 리액트에서 제공하는 Fragment를 사용할 수 있습니다. Fragment는 두 가지 방법으로 사용가능합니다.
react에서 Fragment를 import 해서 사용하거나 빈 태그로 감싸면 됩니다.
JSX 안에서 자바스크립트 표현식을 사용할 수 있습니다. JSX 내부에서 코드를 { }로 감싸면 됩니다.

JSX 내부에서 자바스크립트 표현식에서 if문을 사용할 수 없습니다.
if문을 사용하기 위해서는 JSX 밖에서 if문을 사용하여 값을 미리 설정하거나 JSX 내부에서 { } 안에 조건부 연산자를 사용하면 됩니다. 우리가 알고있는 삼항 연산자를 생각하면 됩니다.
위와 같이 실행하면 결과화면이 주녘입니다. 라고 뜨겠죠?

만약 name의 값이 주녘이 아닌 철수이면 어떻게 될까요? 값을 변경해봅시다.

| 리액트 컴포넌트의 생명주기(LifeCycle) : 생성/수정 (0) | 2023.08.30 |
|---|---|
| CSS 적용 (0) | 2023.08.30 |
| Props (0) | 2023.08.30 |
| 화면 출력 (0) | 2023.08.30 |
| Hello! React (0) | 2023.08.30 |

props는 "properties"를 줄인 표현어로 컴포넌트 속성을 설정할 때 사용하는 요소라고 합니다.
props 값은 해당 컴포넌트를 불러와 사용하는 부모 컴포넌트에서 설정할 수 있습니다.
우선 MyComponent 컴포넌트를 수정하여 해당 컴포넌트에서 name 이라는 props를 렌더링하도록 설정해봅시다.
부모 컴포넌트인 App.js 에서 MyComponent의 props 값을 지정해봅시다.

부모 컴포넌트에서 작성한 name 값을 지우고 저장해봅시다.

현재 name에 값을 지정하지 않았기 때문에 안녕하세요, 저는 입니다. 라고 보이게 됩니다.
이처럼 props 값을 따로 지정하지 않았을 때 보여 줄 기본값을 설정하는 defalutProps을 알아봅시다.

리액트 컴포넌트를 사용할 때 컴포넌트 태그 사이의 내용을 보여주는 props가 있습니다.
바로 children 입니다.
부모 컴포넌트인 App.js 파일을 수정해봅시다.
위의 코드에서 <MyComponent>리액트</MyComponent> 태그 사이에 작성한 "리액트"라는 문자열을 MyComponent 내부에서 보여주려면 props.children 값을 보여주어야 합니다.
자식 컴포넌트인 MyComponent.js를 수정해봅시다

props 값을 조회할 때마다 props.name, props.children과 같이 props. 이라는 키워드를 앞에 붙여 사용하고 있습니다.
조금더 편리하게 사용하기 위해 비구조화 문법을 사용하여 내부 값을 바로 추출하는 방법을 알아보겠습니다. 😊
조금 더 간단해진것을 볼 수 있습니다.
컴포넌트의 필수 props를 지정하거나 props의 타입을 지정할 때는 propTypes를 사용합니다.
컴포넌트의 propTypes를 지정하는 방법은 위 쪽의 defaultProp을 설정하는 것과 비슷합니다.
propTypes 를 사용하기 위해서는 상단에 import 구문을 사용하여 불러와야 합니다.
이런식으로 설정을 해주면 name 값은 무조건 문자열(string) 형태로 전달해야 된다는 것을 의미합니다.
App.js에서 name이 문자열이 아닌 다른 값으로 전달한다면 어떻게 될까요?

값은 나타나기는 했지만, 콘솔에 경고창이 뜨는 것을 확인할 수 있습니다.
오류 메시지를 확인했으면 name 값을 제대로 설정해주시면 됩니다.
propTypes를 지정하지 않았을 때 경고메시지를 띄워주는 작업을 해봅시다.
propTypes를 지정할 때 뒤에 isRequired를 붙여주면 끝입니다!
favoriteFruit 라는 문자열을 필수 props로 지정해보겠습니다.
만약 favoriteFruit 를 지정하지 않았으면 어떻게 될까요?

favoriteFruit proptype를 입력하라고 경고창이 뜨는 것을 볼 수 있습니다.
| 리액트 컴포넌트의 생명주기(LifeCycle) : 생성/수정 (0) | 2023.08.30 |
|---|---|
| CSS 적용 (0) | 2023.08.30 |
| JSX 문법 (0) | 2023.08.30 |
| 화면 출력 (0) | 2023.08.30 |
| Hello! React (0) | 2023.08.30 |

컴포넌트 파일에서 웹브라우저 화면에 표시되는 영역은 함수의 return 값 아래 부분에 작성해주어야 화면에 정상적으로 출력이 됩니다.

아래의 내용들은 중괄호{ } 안에 입력하여도 화면에 출력이 안되며 오류가 발생합니다.
| 리액트 컴포넌트의 생명주기(LifeCycle) : 생성/수정 (0) | 2023.08.30 |
|---|---|
| CSS 적용 (0) | 2023.08.30 |
| JSX 문법 (0) | 2023.08.30 |
| Props (0) | 2023.08.30 |
| Hello! React (0) | 2023.08.30 |

React를 시작하기 전에 작업 환경 설정을 해주어야 합니다.
순서는 다음과 같습니다.
Node.js / npm 설치 -> vs code에서 create-react-app 으로 프로젝트 만들기
1) Node.js 설치
리액트 프로젝트를 만들 때는 Node.js를 반드시 먼저 설치해야 합니다.
이것으로 웹 브라우저 환경이 아닌 곳에서 자바스크립트를 사용하여 연산할 수 있게 만들어줍니다.
Node.js 홈페이지에서 LTS 버전을 다운받아 설치해주면됩니다.

2) npm 설치하기
Node.js를 설치하셨다면 npm을 설치해봅시다.
npm은 Node.js 패키지 매니저 도구입니다.
VS Code에서 터미널을 실행시키고 다음과 같이 명령어를 입력해줍니다.


3) 프로젝트 생성하기
npm을 인스톨 하였으면 이제 프로젝트를 생성해봅시다.
터미널 명령창에 npx create-react-app hello-react 명령어를 입력해봅시다.


프로젝트 생성이 완료가 되면 아래와 같은 화면이 나옵니다.

We suggest that you begin by typing:
아래 부분을 보시면 명령어가 보이는데요, 이 명령어를 따라 치시면 리액트 프로젝트 화면이 실행됩니다.

