티스토리 뷰
Component
화면을 구성하는 기본 단위
안드로이드로 따지면, @Composable 과 유사하다고 보여짐
import React from "react";
function Greeting() {
return <h1>안녕하세요!</h1>;
}
export default Greeting;
위와 같이 Greeting 이라는 component 를 만들었다면, 다른곳에서 재사용 할 수 있음.
import Greeting from "./Greeting";
function App() {
return (
<div>
<Greeting />
</div>
);
}
export default App;
이 부분은 android 와 매우 흡사하다.
(아마도 안드로이드가 웹을 모방한 것 같다)
Props
부모 > 자식 방향으로 어떤 데이터를 전달해야 할 때 사용되는 properties.
immutable 한 데이터 객체로 보여진다.
function UserInfo(props) {
return <h1>안녕하세요, {props.name}님!</h1>;
}
function App() {
return <UserInfo name="이영우" />;
}
여러개 parameter 를 던질 수 있다.
function Profile(props) {
return (
<div>
<h2>이름: {props.name}</h2>
<p>나이: {props.age}</p>
</div>
);
}
function App() {
return <Profile name="이영우" age={40} />;
}
State
뷰를 그릴 상태.
useState 를 사용해서 선언함.
(안드로이드의 remember + stateOf, mutableStateOf 와 비슷해 보임)
import React, { useState } from "react";
function Counter() {
// count 상태 (초기값: 0)
const [count, setCount] = useState(0);
return (
<div>
<h1>현재 카운트: {count}</h1>
<button onClick={() => setCount(count + 1)}>+1 증가</button>
</div>
);
}
export default Counter;
Component + Props + State 사용 예
import React, { useState } from "react";
// LikeButton 컴포넌트 (props 활용)
function LikeButton({ name }) {
const [likes, setLikes] = useState(0);
return (
<div>
<h2>{name}님의 게시글</h2>
<p>좋아요: {likes}개</p>
<button onClick={() => setLikes(likes + 1)}>좋아요 ❤️</button>
</div>
);
}
// App 컴포넌트
function App() {
return <LikeButton name="김철수" />;
}
export default App;
'Computer > 웹' 카테고리의 다른 글
[React] JSX 란? (0) | 2025.02.07 |
---|---|
각 브라우저의 엔진 (0) | 2017.08.10 |
( 스탯카운터 ) 2017 한국 인터넷 브라우저 점유율 (0) | 2017.08.10 |
(PHP) 리눅스 php , mssql 연동 (0) | 2017.07.04 |
(PHP) 5.2 이하 버전에서 JSON 이용하기 (0) | 2017.06.30 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Kotlin
- xcode
- Phaser
- 노드
- C
- IOS
- 뉴스룸
- 앵커브리핑
- GIT
- 스위프트
- git hub
- 배열
- C언어
- BBC 가쉽
- 서버
- node.js
- 손석희
- 깃헙
- 리눅스
- Swift
- 점유율
- linux
- nodejs
- Asterisk
- Node
- CentOS
- Android
- mysql
- 안드로이드
- php
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함