마이라이프해피라이프

머리에 넣자. React (3) 본문

컴퓨터/React

머리에 넣자. React (3)

YONJAAN 2022. 7. 5. 02:51

1. 리액트 컴포넌트를 만들 땐

import React from 'react';

를 통하여 리액트를 불러와주어야 합니다.

 

2. 코드의 최하단

export default Hello;

이 코드는 Hello 라는 컴포넌트를 내보내겠다는 의미입니다. 이렇게 해주면 다른 컴포넌트에서 불러와서 사용 할 수 있습니다.

 

3. JSX

JSX 는 리액트에서 생김새를 정의할 때, 사용하는 문법입니다. 얼핏보면 HTML 같이 생겼지만 실제로는 JavaScript 입니다.

 

불필요한 div 로 감싸는게 별로 좋지 않은 상황도 있습니다. 예를 들어서 스타일 관련 설정을 하다가 복잡해지게 되는 상황도 올 수 있고, table 관련 태그를 작성 할 때에도 내용을 div 같은걸로 감싸기엔 애매하죠. 그럴 땐, 리액트의 Fragment 라는 것을 사용하면 됩니다. <> </>

 Fragment 는 브라우저 상에서 따로 별도의 엘리먼트로 나타나지 않습니다.

 

JSX 내부에 자바스크립트 변수를 보여줘야 할 때에는 {} 으로 감싸서 보여줍니다.

 

4. css 적용하기

      <div className="gray-box"></div>

 

5. props

이번에는 컴포넌트의 props 라는 개념에 대해서 알아보겠습니다. props 는 properties 의 줄임말입니다. 우리가 어떠한 값을 컴포넌트에게 전달해줘야 할 때, props 를 사용합니다.

 App 컴포넌트에서 Hello 컴포넌트를 사용 할 때 name 이라는 값을 전달해주고 싶다고 가정해봅시다.

 

props.children

컴포넌트 태그 사이에 넣은 값을 조회하고 싶을 땐, props.children 을 조회하면 됩니다.

내부의 내용이 보여지게 하기 위해서는 Wrapper 에서 props.children 을 렌더링해주어야 합니다.

 

6. 조건부 렌더링

조건부 렌더링이란, 특정 조건에 따라 다른 결과물을 렌더링 하는 것을 의미합니다.

 

보통 삼항연산자를 사용한 조건부 렌더링을 주로 특정 조건에 따라 보여줘야 하는 내용이 다를 때 사용합니다.

props 값 설정을 하지 않으면 default로 true

 

7. useState

컴포넌트에서 보여줘야 하는 내용이 사용자 인터랙션에 따라 바뀌어야 할 때 어떻게 구현할 수 있는지에 대하여 알아보겠습니다.

 

함수를 만들고, button 의 onClick 으로 각 함수를 연결해주었습니다. 리액트에서 엘리먼트에 이벤트를 설정해줄때에는 on이벤트이름={실행하고싶은함수} 형태로 설정해주어야 합니다.

 

여기서 주의하셔야 하는 점은, 함수형태를 넣어주어야 하지, 함수를 다음과 같이 실행하시면 안됩니다.

onClick={onIncrease()}

이렇게 하면 렌더링되는 시점에서 함수가 호출되버리기 때문입니다.

 

함수형 업데이트 

:그 대신에 기존 값을 어떻게 업데이트 할 지에 대한 함수를 등록하는 방식으로도 값을 업데이트 할 수 있습니다.

 

8. input 관리하기

input 의 상태를 관리할 때에는 input 태그의 value 값도 설정해주는 것이 중요합니다. 그렇게 해야, 상태가 바뀌었을때 input 의 내용도 업데이트 됩니다.

 setText(e.target.value);

이 코드 때문에 value를 설정해주는건가?

 

input별로 event만들지 x 

-> input 에 name 을 설정하고 이벤트가 발생했을 때 이 값을 참조하는 것입니다. 

-> 객체 생성? 

 

지금은 이것만 기억하세요. 리액트에서 객체를 업데이트하게 될 때에는 기존 객체를 직접 수정하면 안되고, 새로운 객체를 만들어서, 새 객체에 변화를 주어야 됩니다.

- 객체 복사 ...

https://learnjs.vlpt.us/useful/07-spread-and-rest.html

 

9. useRef로 특정 DOM 선택하기 

useRef() 를 사용하여 Ref 객체를 만들고, 이 객체를 우리가 선택하고 싶은 DOM 에 ref 값으로 설정해주어야 합니다. 그러면, Ref 객체의 .current 값은 우리가 원하는 DOM 을 가리키게 됩니다.

const nameInput = useRef();
    
nameInput.current.focus();
            
<input name="name" placeholder='이름' onChange={onChange} value={name} ref={nameInput} />

 

출처

https://react.vlpt.us/basic/11-render-array.html (11전까지)

'컴퓨터 > React' 카테고리의 다른 글

머리에 넣자. React (5)  (0) 2022.07.07
머리에 넣자. React (4)  (0) 2022.07.07
머리에 넣자. React (2)  (0) 2022.07.03
입문 강의 - 생코, React (2)  (0) 2022.07.02
입문 강의 - 생코, React  (0) 2022.07.01