티스토리 뷰
728x90
ES6의 화살표 함수
- 화살표 함수(arrow function)는 ES6 문법에서 함수를 표현하는 새로운 방식
- 기존 방식을 아예 대체하진 않음
- 함수를 파라미터로 전달할 때 유용
setTimeout(function()
console.log('hello world');
}, 1000);
);
--->
setTimeout(() => {
console.log('hello world')
}), 1000);
- 이 문법이 기존 function을 대체할 수 없는 것은 용도가 다르기 때문
- 가르키고 있는 this 값이 다름
3.3 Props
- props는 properties를 줄인 표현.
- 컴포넌트 설정을 사용할 때 사용하는 요소
- props를 랜더링 할 때는 JSX 내부에서 { } 기호로 감싼다.
- 사용 방법
import React from 'react';
const MyComponent = (props) => {
return <div>나으 새롭고 멋진 컴포넌트 내 이름은 {props.name}다</div>;
};
export default MyComponent;
- name이 지정 되지 않았을 때 기본 name 사용 방법
import React from 'react';
import MyComponent from './MyComponent';
const App = () => {
return <MyComponent />;
};
MyComponent.defaultProps = {
name: '기본이유',
};
6-21
태그사이의 내용을 보여주는 children
- 컴포넌트 태그사이에 내용을 보여주는 props
const App = () => {
return <MyComponent>랙트</MyComponent>; // MyComponent 태그사이에 작성한 랙트라는 문자열을 보여주려면 내부에서 보여주려면 props.children 값을 보여 주어야 한다.
};
const MyComponent = (props) => {
return (
<div>
나으 새롭고 멋진 컴포넌트 내 이름은 {props.name}다<br />
children 값은 {props.children}
입니다.
</div>
);
};
비구조화 할당 문법을 통해 props 내부 값 추출
- props 값을 조회할 때 props. 이라는 키워드를 붙이는데 이런 작업을 편하게 하기 위해 ES6의 비구조화 할당문법을 사용해 내부 값을 바로 추출하는 방법이 존재
const MyComponent = (props) => {
const { name, children } = props;
return (
<div>
안녕 내이름은 {name} 이고 <br />
자식은 {children} 이야
</div>
);
};
MyComponent.defaultProps = {
name: '기본 이름',
};
export default MyComponent;
- 객체에서 값을 추추하는 문법 - 비구조화 할당 (destructuring assignment)
- 이 문법은 구조 분해 문법 이라고도 불리며, 함수의 파라미터 부분에서도 사용 가능.
- 만약 함수의 파라미터가 객체라면 그 값을 바로 비구조화 해서 사용하는 것
// 함수의 파라미터가 객체인 경우 바로 비구조화 해서 사용
const MyComponent = ({ name, children }) => {
return (
<div>
안녕하세요 제 이름은 {name} 입니다. <br />
자식은 {children}
입니다.
</div>
);
};
propTypes를 통한 props 검증
- 컴포넌트의 필수 props를 저장하거나 props의 타입(type)을 지정할 때는 propTypes 를 사용
- propTypes를 사용하려면 코드 상단에 import 구문을 사용하여 호출
import PropTypes from 'prop-types';
// export default MyComponent 위에 작성
MyComponent.defaultProps = {
name: ' 기본 이름 ',
};
MyComponent.propTypes = {
name: PropTypes.string,
};
- 이렇게 설정하면 name 값은 무조건 문자열 형태로 전달 받아야 함
- name에 스트링 이외의 문자를 넣으면 개발자 도구 console 탭에 타입이 잘못 되었다고 알려줌 - 프로그램상 오류는 나지 않음
-------- 23 - 7 - 5 리액트 !!!!
3.3.6.1 Required를 사용하여 필수 propTypes 설정
- 경고 메시지를 띄워 주는 작업 -
- isRequired를 붙여 준다
- favoriteNumber라는 숫자를 필수 props로 지정
const App = () => {
return (
<MyComponent name="리액트" favoriteNumber={8}>
여기가 자식?
</MyComponent>
3.4.1 클래스형 컴포넌트의 state
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 서버전송
- findFirstBy
- selectbox
- 씹어먹는 C 언어
- optional
- commit 에러
- C
- @reqeustBody
- 셀프로젝트
- 체크박스
- reactStart
- 받아오기
- React
- 아이디
- reactApp
- 다중체크박스 처리
- 다른데서 react
- CheckBox
- SCP
- @Builder
- ID
- C언어
- JPA
- react 시작 오류
- @RequestParam
- 셀렉트박스
- th:selected
- mircrosoft visual studio
- App
- 제약조건
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
글 보관함
