Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 리액트
- asp.net core mvc
- 도커
- js
- redux
- 리덕스
- asp.net core
- react typescript
- Docker
- 리액트 타입스크립트 적용하기
- docker layer
- react
- asp core mvc
- React Redux
- 도커 컨테이너
- 리액트 타입스크립트
- asp core 권한
- 도커 레이어
- Asp Net Core
- c# delegate
- docker container
- Docker image
- Git
- 리액트 리덕스
- vscode extension
- C#
- react ts
- 도커 이미지
- ASP Core
- javascript
Archives
- Today
- Total
기초 메모지
리액트(React) - 속성(Props), 상태(State) 본문
속성(Propertys == Props)
속성(Props)은 하위 컴포넌트(Component)에 전달된 값을 그대로 표현할 때 사용합니다.
- 같은 컴포넌트지만 내용이 다른 양식(Template)을 만들 때 사용합니다.
- 속성 값이 달라져도 컴포넌트를 수정할 필요가 없습니다.
- 속성은 읽기 전용(Read Only)으로 속성 값이 변하지 않습니다.
function App() {
return (
<div className="App">
<header className="App-header">
<Profile Name={"이나"} Email={"contact@dev.com"} PhoneNumber={"010-1234-1234"}></Profile>
</header>
</div>
);
}
알맞은 DOM 태그에 중괄호(JSX 또는 TSX 문법)를 넣어 지정 된 속성 값을 표시합니다.
function Profile(Props) {
return (
<div>
<h2>{Props.Name}</h2>
<p>{Props.Email}</p>
<p>{Props.PhoneName}</p>
</div>
);
}
상태(State)
상태(State)는 컴포넌트에서 관리되고 상태가 변경 될 때마다 렌더링이 필요할 때 사용합니다.
- 상태(State)는 읽기 / 쓰기 모두 가능합니다.
- 상태(State)는 객체를 보관하며 사용자 작업, 이벤트에 따라 변경되고 렌더링 됩니다.
import { useState } from 'react';
function App(){
// 초기값 설정
// 읽을 때는 'State' 수정 할 때는 'setState' 사용합니다.
const [Switch, setSwitch] = useState("");
const handleTrunOn = () => {
setSwitch(Switch = "On");
}
const handleTrunOff = () => {
setSwitch(Switch = "Off");
}
return(
<div>
<h1>Switch {Switch}!</h1>
<button
id="SwitchOn"
onClick={handleTrunOn}
>
<button
id="SwitchOff"
onClick={handleTrunOff}
>
</div>
)
}
상태(State) | 속성(Props) | |
사용 조건 | 컨포넌트에서 렌더링 할 데이터 저장 | 하위 컴포넌트에 데이터를 전달 |
수정 가능성 | 읽기 / 쓰기 모두 가능 | 읽기만 가능 |
대상 | 컴포넌트 State 수정 | 하위 컴포넌트 Props 수정 |
반응형
'Frameworks, Platforms > React' 카테고리의 다른 글
리액트(React) - 리덕스(Redux) 용어 (0) | 2023.03.15 |
---|---|
리액트(React) - 리덕스(Redux) 적용 (0) | 2023.03.06 |
리액트(React) - 타입스크립트(Typescript) (0) | 2023.03.02 |
리액트(React) - 미들웨어(Middleware) (0) | 2022.09.02 |
리액트(React) - 리덕스(Redux) (0) | 2022.07.25 |
Comments