React Study

React - useState

2020. 11. 12. 00:40
๋ชฉ์ฐจ
  1. ๐Ÿ“Œ ๋ชฉ์ฐจ
  2. ๐Ÿ“Œ Introduction
  3. ๐Ÿ“Œ useState
  4. ๐Ÿ“Œ useState call back function
  5. ๐Ÿ“Œ Conclusion
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ ๋ชฉ์ฐจ

  • Introduction
  • useState
  • useState call back function
  • Conclusion

๐Ÿ“Œ Introduction

์•ˆ๋…•ํ•˜์„ธ์š”. ์˜ค๋Š˜์€ ๋“œ๋””์–ด react hooks์ค‘ ํ•˜๋‚˜์ธ useState์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ useState

๊ฐ„๋‹จํ•˜๊ฒŒ counter๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

useState(arg) // useState์•ˆ์— ์ธ์ž๋Š” ์ดˆ๊ธฐ ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

const [number, setNumber] = useState(0); 
// ๊ทธ๋ฆฌ๊ณ  array๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ฒซ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋Š” ๊ฐ’, ๋‘๋ฒˆ์งธ ์ธ๋ฑ์Šค๋Š” number๋ฅผ ์„ค์ •ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
import React, { useState } from "react";

function Counter() {
  const [number, setNumber] = useState(0);
  const onIncrease = () => {
    setNumber(number + 1);
  };
  const onDecrease = () => {
    setNumber(number - 1);
  };
  return (
    <div>
      <h1>{number}</h1>
      <button onClick={onIncrease}>+</button>
      <button onClick={onDecrease}>-</button>
    </div>
  );
}

export default Counter;

๐Ÿ“Œ useState call back function

์œ„์—์„œ setNumber๋Š” ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ด์š”.

const onIncrese = () => {
    setNumber(prevNumber => prevNumber + 1); 
}

์ด๋ ‡๊ฒŒ ์„ค์ •์„ ํ•˜๋Š” ์ด์œ ๋Š” ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉ์„ ํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ Conclusion

์˜ค๋Š˜์€ useState์— ๋Œ€ํ•ด์„œ ํ•œ๋ฒˆ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. vue3์—์„œ๋„ ์ด์™€ ๋น„์Šทํ•˜๊ฒŒ reactive๋ผ๋˜์ง€, ref๊ฐ™์€ ๊ฒƒ๋“ค์ด ๋‚˜์™”๋Š”๋ฐ ์‹ค์ œ๋กœ react์—์„œ ์‚ฌ์šฉ์„ ํ•ด๋ณด๋‹ˆ vue ๊ฐœ๋ฐœ์ž๋“ค์ด ์–ด๋””์—์„œ ์˜๊ฐ์„ ๋ฐ›์•˜๋Š”์ง€ ์ข€๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์—‡๋˜ ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ๋˜๊ฑฐ ๊ฐ™์•„์š”. ๊ทธ๋Ÿผ ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ๋งŒ๋‚˜์š”~~!

๋ฐ˜์‘ํ˜•

'React Study' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

React - ๋ฐฐ์—ด ๋žœ๋”๋ง  (0) 2020.12.03
React - useRef ํŠน์ •๋” ์ง€์ •ํ•˜๊ธฐ  (0) 2020.12.02
React - input ๊ด€๋ฆฌ  (0) 2020.12.01
React - Conditional Rendering  (0) 2020.11.10
React - Props  (0) 2020.11.09
  1. ๐Ÿ“Œ ๋ชฉ์ฐจ
  2. ๐Ÿ“Œ Introduction
  3. ๐Ÿ“Œ useState
  4. ๐Ÿ“Œ useState call back function
  5. ๐Ÿ“Œ Conclusion
'React Study' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • React - useRef ํŠน์ •๋” ์ง€์ •ํ•˜๊ธฐ
  • React - input ๊ด€๋ฆฌ
  • React - Conditional Rendering
  • React - Props
eddie0329
eddie0329
Front-end Developer
๋ฐ˜์‘ํ˜•
eddie0329
Eddie Sunny's Blog
eddie0329
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (100)
    • Summary of Book (0)
    • Vue Study (11)
    • Vue TDD (9)
    • Vue BDD (5)
    • Design Pattern (9)
    • Javascript Study (3)
    • React Study (15)
    • React TDD (1)
    • Vue Storybook (2)
    • Refactoring (0)
    • Graphql_Apollo (3)
    • Svelte (8)
    • Open Source (1)
    • D3 (4)
    • Typescript (1)
    • CSS (2)
    • Android (0)
    • Java (0)
    • Kotlin (0)
    • ์žก๋‹ด (0)
    • Swift (19)
    • Rust (2)
    • ํšŒ์‚ฌ์ด์•ผ๊ธฐ (2)
    • ReactNative Study (2)
    • Vitest (0)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • Home

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • TDD
  • slot ํŒจํ„ด
  • swift5
  • React Native
  • react useRef
  • vue storybook
  • Vue
  • svelte
  • vue3
  • D3
  • vue cypress
  • Kotlin
  • TypeScript
  • Javascript
  • react
  • BDD
  • react-component-slot
  • swift
  • javascript pattern
  • apollo
  • Cypress
  • Design Pattern
  • vue bdd
  • Vue test
  • Nextjs
  • storybook6
  • CSS
  • client only
  • jest
  • vue tdd

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.
eddie0329
React - useState
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.