π‘ 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>
)
}
'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 |