ν°μ€ν 리 λ·°
π― useDebugValueλ 무μμΌκΉ?
**useDebugValue**λ React κ°λ°μ λꡬ(React DevTools)μμ 컀μ€ν ν μ λ μ½κ² λλ²κΉ ν μ μλλ‘ λμμ μ£Όλ λꡬμμ.
- 컀μ€ν
ν
μ΄λ?
μ¬λ¬ React ν (useState, useEffect λ±)μ μ‘°ν©ν΄μ λλ§μ ν μ λ§λλ κ±°μμ.
μλ₯Ό λ€λ©΄ useUserData, useFetchData κ°μ κ²λ€μ΄μ.
**useDebugValue**λ₯Ό μ¬μ©νλ©΄ μ΄ μ»€μ€ν
ν
μ΄ μ΄λ€ κ°μ λ°ννλμ§λ₯Ό React κ°λ°μ λꡬμμ νλμ νμΈν μ μμ΄μ.
λλ²κΉ
ν λ μμ£Ό μ μ©νλ΅λλ€! π
π¦ νλ°° μμ μ΄μΌκΈ°λ‘ μ΄ν΄ν΄λ³΄κΈ°
컀μ€ν ν μ λ§μΉ νλ°° μμ κ°μμ. π¦
- νλ°° μμ(컀μ€ν ν ) μμ λκ° λ€μ΄μλμ§ κ²μΌλ‘λ 보μ΄μ§ μμμ.
- νλμ© μ΄μ΄λ³΄λ©΄μ νμΈν΄μΌ νλλ°, μμκ° λ§μμ§λ©΄ νλ€κ² μ£ ?
useDebugValueλ₯Ό μ¬μ©νλ©΄ μμμ λΌλ²¨μ λΆμ΄λ κ²μ²λΌ,
React κ°λ°μ λꡬμ **"μ΄ μμ μμλ μ΄λ° κ°μ΄ λ€μ΄μμ΄μ"**λΌκ³ νμν΄μ€μ.
π οΈ useDebugValue μ½λ μμ
μλ₯Ό λ€μ΄, μ¬μ©μ μ 보λ₯Ό κ°μ Έμ€λ 컀μ€ν ν useUserλ₯Ό λ§λ€μ΄ λ³Όκ²μ.
import React, { useState, useEffect, useDebugValue } from "react";
// 컀μ€ν
ν
: μ¬μ©μ λ°μ΄ν°λ₯Ό κ°μ Έμ€λ ν
function useUser(userId) {
const [user, setUser] = useState(null);
useEffect(() => {
// μ¬μ©μ λ°μ΄ν°λ₯Ό κ°μ Έμ€λ λΉλκΈ° ν¨μ
fetch(`https://jsonplaceholder.typicode.com/users/${userId}`)
.then((response) => response.json())
.then((data) => setUser(data));
}, [userId]);
// useDebugValueλ₯Ό μ¬μ©ν΄ React DevToolsμ νμν κ° μ€μ
useDebugValue(user ? `User: ${user.name}` : "Loading...");
return user;
}
// μ»΄ν¬λνΈ
function UserProfile({ userId }) {
const user = useUser(userId); // 컀μ€ν
ν
μ¬μ©
return (
<div>
{user ? (
<p>μ¬μ©μ μ΄λ¦: {user.name}</p>
) : (
<p>μ¬μ©μ μ 보λ₯Ό λΆλ¬μ€λ μ€...</p>
)}
</div>
);
}
export default UserProfile;
π μ½λμμ λ¬΄μ¨ μΌμ΄ μΌμ΄λ κΉ?
- 컀μ€ν
ν
useUser
- μ¬μ©μμ λ°μ΄ν°λ₯Ό λΆλ¬μ€κ³ useStateλ‘ μνλ₯Ό κ΄λ¦¬ν΄μ.
- useDebugValue
- React κ°λ°μ λꡬμ νμ¬ μ¬μ©μ μ 보μ μνλ₯Ό νμν΄μ€μ.
- userκ° μμ λλ User: μ¬μ©μ μ΄λ¦,
μμ§ λ°μ΄ν°λ₯Ό κ°μ Έμ€λ μ€μ΄λ©΄ Loading... λΌκ³ νμλ©λλ€.
- React κ°λ°μ λꡬμμ νμΈνκΈ°
- React DevToolsλ₯Ό μ΄μ΄λ³΄λ©΄ useUser ν μ΄ μ΄λ€ κ°μ λ°ννλμ§ μ½κ² νμΈν μ μμ΄μ.
- λλ²κΉ μ΄ ν¨μ¬ κ°νΈν΄μ§κ² μ£ ? π
π μ μ¬μ©ν κΉ?
- 컀μ€ν ν μ΄ λ§μμ§μλ‘ μ΄λ€ ν μ΄ μ΄λ€ λ°μ΄ν°λ₯Ό λ°ννλμ§ νμ νκΈ° μ΄λ €μμ Έμ.
- React κ°λ°μ λꡬμ νμ¬ ν μ μνλ₯Ό λͺ ννκ² νμν΄μ λλ²κΉ μκ°μ μ€μ¬μ€μ.
π ν μ€ μμ½
useDebugValueλ 컀μ€ν ν μ κ°μ React κ°λ°μ λꡬμ νμν΄μ£Όλ λꡬμμ. λλ²κΉ ν λ μμ£Ό μ μ©ν΄μ!
'web > react hook' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
useEffect (1) | 2024.12.14 |
---|---|
useDeferredValue (0) | 2024.12.14 |
useContext (0) | 2024.12.14 |
useCallback (0) | 2024.12.14 |
useActionState (1) | 2024.12.14 |
- Total
- Today
- Yesterday
- component
- react dom hook
- λ² ν
- usedeferredvalue
- react
- zustand
- react dom
- useid
- useformstatus
- μ μ₯μ
- μ΅μ λ°μ΄ν°
- react hook
- Store
- state
- Props
- μνκ΄λ¦¬
- preconnect
- flushsync
- finddomnode
- prefetchdns
- μΈλΆν°νΈ
- Nextjs
- μ€νμ
- experimental_taintobjectreference
- dns-prefetch
- λ°μ΄ν°μ μ§
- experimental_taintuniquevalue
- useinsertioneffect
- experimental
- useRef
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |