250x250
λ°˜μ‘ν˜•
arkhyeon
arkhyeon
arkhyeon
전체 방문자
였늘
μ–΄μ œ
  • λΆ„λ₯˜ 전체보기 (88)
    • Spring (5)
    • Java (4)
    • React (25)
      • TypeScript (6)
      • JavaScript (1)
      • Jest (9)
    • NEXT (8)
    • SQL (1)
    • React native (1)
    • CSS (3)
    • Web (1)
    • Git (3)
    • ETC (6)
    • 빅데이터DB (8)
    • Docker (4)
    • Tool (1)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

인기 κΈ€

νƒœκ·Έ

  • websocket server
  • HIVE
  • react jest
  • Spring WebSocket
  • react loading
  • react spring websocket
  • usetransition
  • docker tomcat
  • websocket
  • react
  • javascript wss
  • jest
  • kudu
  • react websocket
  • WSS
  • node WebSocket
  • react19
  • react typescript
  • react usetransition
  • javasciprt websocket

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
arkhyeon

arkhyeon

React

React Labs React 19 - Memoization, useFormState

2024. 3. 21. 17:35
728x90
λ°˜μ‘ν˜•
πŸ’‘ 2024λ…„ 2μ›” 15일 React Labsμ—μ„œ λ‚˜μ˜¨ React 19에 λŒ€ν•œ κ²Œμ‹œκΈ€μ˜ μš”μ•½ 및 정리λ₯Ό 제 μ£Όκ΄€μ μœΌλ‘œ μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 문제점 μžˆμ„ μ‹œ μ§€μ ν•΄μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€.
 

React Labs: What We've Been Working On – February 2024 – React

The library for web and native user interfaces

react.dev

Memo

React의 μˆ˜λ™ Memoization 제거되고 μžλ™ Memoization μ‹œν–‰μœΌλ‘œ μ½”λ“œ λ³΅μž‘μ„± 및 μΆ”κ°€ μž‘μ—… λΆˆν•„μš”ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
(이미 μž‘λ™λ˜κ³  μžˆλŠ” Memoization ν•˜μœ„ ν˜Έν™˜μ„±μ€ μœ μ§€λ¨)

 

ReactλŠ” μƒνƒœκ°€ 변경될 λ•Œ λ•Œλ•Œλ‘œ λ„ˆλ¬΄ 많이 λ‹€μ‹œ λ Œλ”λ§ν•  수 μžˆμŠ΅λ‹ˆλ‹€. React μ΄ˆκΈ°λΆ€ν„° μ΄λŸ¬ν•œ κ²½μš°μ— λŒ€ν•œ μ†”λ£¨μ…˜μ€ useMemo, useCallback 등을 μ‚¬μš©ν•΄ μˆ˜λ™μœΌλ‘œ λ©”λͺ¨ν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ μˆ˜λ™ λ©”λͺ¨λŠ” μ ˆμΆ©μ•ˆμœΌλ‘œμ„œ μ½”λ“œκ°€ λ³΅μž‘ν•΄μ§€κ³ , 잘λͺ»λ˜κΈ° 쉽고, μ΅œμ‹  μƒνƒœλ₯Ό μœ μ§€ν•˜λ €λ©΄ μΆ”κ°€ μž‘μ—…μ΄ ν•„μš”ν•©λ‹ˆλ‹€.

μˆ˜λ™ λ©”λͺ¨λŠ” 합리적인 μ ˆμΆ©μ•ˆμ΄μ§€λ§Œ λ§Œμ‘±ν•˜μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€. 우리의 비전은 μƒνƒœκ°€ 변경될 λ•Œ React의 핡심 μ •μ‹  λͺ¨λΈμ„ μ†μƒμ‹œν‚€μ§€ μ•Šκ³  UI의 μ˜¬λ°”λ₯Έ λΆ€λΆ„λ§Œ μžλ™μœΌλ‘œ λ‹€μ‹œ λ Œλ”λ§ ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€ .

useFormState

양식 μž‘μ—…μ˜ 결과에 따라 μƒνƒœλ₯Ό μ—…λ°μ΄νŠΈν•  수 μžˆλŠ” Hookλ‘œμ„œ μ•‘μ…˜μ˜ ν˜„μž¬ μƒνƒœμ™€ 응닡에 μ•‘μ„ΈμŠ€ν•˜μ—¬ 데이터 제좜의 수λͺ… μ£ΌκΈ°λ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€.

 

useFormState – React

The library for web and native user interfaces

react.dev

const [state, formAction] = useFormState(fn, initialState, permalink?);
  • fn : 이벀트 λ°œμƒ 및 양식 제좜 μ‹œ ν˜ΈμΆœλ˜λŠ” ν•¨μˆ˜
  • initialState : 초기 κ°’
  • state : ν˜„μž¬ μƒνƒœ
  • formAction : fnμ—μ„œ ν• λ‹Ήλœ μž‘μ—… ν•¨μˆ˜
    • prevState : 이전 μƒνƒœ κ°’
    • formData : form λ‚΄λΆ€ 데이터

μ˜ˆμ‹œ

import { useFormState } from "react-dom";

async function increment(previousState, formData) {
  return previousState + 1;
}

function StatefulForm({}) {
  const [state, formAction] = useFormState(increment, 0);
  return (
    <form>
      {state}
      <button formAction={formAction}>Increment</button>
    </form>
  )
}
728x90
λ°˜μ‘ν˜•

'React' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[React19] React 19 ref와 React 18 forwardRef 비ꡐ  (0) 2024.12.31
Unrecognized extension value in extension set ([object Object]).  (0) 2024.06.18
Yarn 4.0 Update .yarnrc.yml npmRegistryServer μ„€μ •  (0) 2024.03.12
[vite] Rollup failed to resolve import react-icons  (0) 2024.02.27
Yarn StoryBook μ‹€ν–‰ Error #22431  (0) 2024.01.29
    'React' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [React19] React 19 ref와 React 18 forwardRef 비ꡐ
    • Unrecognized extension value in extension set ([object Object]).
    • Yarn 4.0 Update .yarnrc.yml npmRegistryServer μ„€μ •
    • [vite] Rollup failed to resolve import react-icons
    arkhyeon
    arkhyeon

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”