Reactμ experimental_cacheλ₯Ό μ¬μ©νμ¬ ν¨μ μΊμ±, μ±λ₯ μ΅μ ν λ° μ¬μ©μ κ²½ν κ°μ λ°©λ²μ μ΄ν΄λ³΄μΈμ. μ΄ κ°λ ₯ν React κΈ°λ₯μ ꡬν λ° νμ© λ°©λ²μ λ°°μλλ€.
μ±λ₯ κ·Ήλν: Reactμ experimental_cache ν¨μ μΊμ± μ¬μΈ΅ λΆμ
Reactλ μ§μμ μΌλ‘ λ°μ νλ©° κ°λ°μμκ² μ ν리μΌμ΄μ
μ±λ₯μ μ΅μ νν μ μλ κ°λ ₯ν λꡬλ₯Ό μ 곡ν©λλ€. κ·Έμ€ νλλ νμ¬ μ€νμ μ΄μ§λ§ μμ²λ κ°λ₯μ±μ 보μ¬μ£Όλ experimental_cacheμ
λλ€. μ΄ κΈ°λ₯μ μ¬μ©νλ©΄ ν¨μ¨μ μΈ ν¨μ μΊμ±μ΄ κ°λ₯νμ¬ μ€λ³΅ κ³μ°μ ν¬κ² μ€μ΄κ³ μ λ°μ μΈ μ¬μ©μ κ²½νμ κ°μ ν μ μμ΅λλ€. μ΄ μ’
ν© κ°μ΄λμμλ experimental_cacheλ₯Ό μ΄ν΄λ³΄κ³ , μ΄μ κ³Ό μ€μ μμ λ₯Ό μ 곡νλ©°, νλμ μΈ React κ°λ°μ λ―ΈμΉλ μν₯μ λν΄ λ
Όμν©λλ€.
ν¨μ μΊμ±μ΄λ 무μμ λκΉ?
ν¨μ μΊμ±(λ©λͺ¨μ΄μ μ΄μ μ΄λΌκ³ λ ν¨)μ λΉμ©μ΄ λ§μ΄ λλ ν¨μ νΈμΆμ κ²°κ³Όλ₯Ό μ μ₯νκ³ λμΌν μ λ ₯μ΄ λ€μ λ°μν λ μ¬μ¬μ©νλ κΈ°μ μ λλ€. κ²°κ³Όλ₯Ό λ€μ κ³μ°νλ λμ μΊμλ κ°μ λ°ννμ¬ κ·μ€ν μ²λ¦¬ μκ°κ³Ό 리μμ€λ₯Ό μ μ½ν©λλ€. μ΄λ λ€μκ³Ό κ°μ κΈ°λ₯μ νΉν μ μ©ν©λλ€.
- κ³μ° μ§μ½μ : 볡μ‘ν κ³μ° λλ λ°μ΄ν° λ³νμ μννλ ν¨μ.
- λμΌν μΈμλ‘ μμ£Ό νΈμΆλ¨: λμΌν μ λ ₯μΌλ‘ λ°λ³΅μ μΌλ‘ νΈμΆλλ ν¨μ.
- μμ ν¨μ: λμΌν μ λ ₯μ λν΄ νμ λμΌν μΆλ ₯μ λ°ννκ³ λΆμμ©μ΄ μλ ν¨μ.
JavaScriptμ κΈ°μ‘΄ λ©λͺ¨μ΄μ μ΄μ
κΈ°μ μ μΊμ κ°μ²΄λ₯Ό λ§λ€κ³ μ§μ λ μ
λ ₯μ λν κ²°κ³Όκ° μλμ§ μλμΌλ‘ νμΈνλ κ²½μ°κ° λ§μ΅λλ€. Reactμ experimental_cacheλ μ΄ νλ‘μΈμ€λ₯Ό λ¨μννμ¬ ν¨μ μΊμ±μ μν κΈ°λ³Έ μ 곡 λ©μ»€λμ¦μ μ 곡ν©λλ€.
Reactμ experimental_cache μκ°
experimental_cacheλ ν¨μ κ²°κ³Όλ₯Ό μΊμνλ κ°μνλ λ°©λ²μ μ 곡νλλ‘ μ€κ³λ Reactμ μ€νμ APIμ
λλ€. React μλ² μ»΄ν¬λνΈ(RSC) λ° μλ² μΈ‘ λ°μ΄ν° κ°μ Έμ€κΈ°μ μννκ² μλνμ¬ λ°μ΄ν° κ²μμ μ΅μ ννκ³ λΆνμν λ€νΈμν¬ μμ²μ μ€μΌ μ μμ΅λλ€. μ΄ κΈ°λ₯μ νΉν μΈλΆ API λλ λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν°λ₯Ό κ°μ Έμ€λ μλ리μ€μμ μ±λ₯μ ν₯μμν€λ κ²μ λͺ©νλ‘ ν©λλ€.
μ€μ μ¬ν: μ΄λ¦μμ μ μ μλ―μ΄ experimental_cacheλ μμ§ κ°λ° μ€μ΄λ©° ν₯ν React 릴리μ€μμ λ³κ²½λ μ μμ΅λλ€. νλ‘λμ
νκ²½μμ μ¬μ©νκΈ° μ μ μ μ¬μ μΈ μνκ³Ό μ
λ°μ΄νΈλ₯Ό μμ§νμμμ€.
experimental_cache μλ λ°©μ
experimental_cacheλ ν¨μλ₯Ό λννκ³ μΈμλ₯Ό κΈ°λ°μΌλ‘ λ°ν κ°μ μλμΌλ‘ μΊμνμ¬ μλν©λλ€. μΊμλ ν¨μκ° λμΌν μΈμλ‘ νΈμΆλλ©΄ ν¨μλ₯Ό λ€μ μ€ννλ λμ μΊμμμ κ²°κ³Όλ₯Ό κ²μν©λλ€. μΊμλ μΌλ°μ μΌλ‘ νκ²½μ λ°λΌ νμ¬ μμ² λλ κ΅¬μ± μμ μλͺ
μ£ΌκΈ°λ‘ λ²μκ° μ§μ λ©λλ€.
experimental_cache μ¬μ©μ μν κΈ°λ³Έ ꡬ문μ λ€μκ³Ό κ°μ΅λλ€.
javascript
import { experimental_cache } from 'react';
const cachedFunction = experimental_cache(async (arg1, arg2) => {
// Expensive computation or data fetching
const result = await fetchData(arg1, arg2);
return result;
});
μ΄ μμμ cachedFunctionμ μλ λΉλκΈ° ν¨μμ λ©λͺ¨μ΄μ μ΄μ
λ λ²μ μ
λλ€. cachedFunctionμ΄ λμΌν arg1 λ° arg2 κ°μΌλ‘ νΈμΆλλ©΄ μΊμλ κ²°κ³Όκ° λ°νλ©λλ€.
experimental_cache μ¬μ©μ μ΄μ
experimental_cacheλ₯Ό μ¬μ©νλ©΄ λ€μκ³Ό κ°μ μ¬λ¬ κ°μ§ μ€μν μ΄μ μ΄ μμ΅λλ€.
- ν₯μλ μ±λ₯: ν¨μ κ²°κ³Όλ₯Ό μΊμ±νμ¬
experimental_cacheλ μ€λ³΅ κ³μ°μ μ€μ¬ μλ΅ μκ°μ λ¨μΆνκ³ λ λΆλλ¬μ΄ μ¬μ©μ κ²½νμ μ 곡ν©λλ€. - κ°μλ λ€νΈμν¬ μμ²: λ°μ΄ν° κ°μ Έμ€κΈ° ν¨μμ κ²½μ° μΊμ±μ API νΈμΆ μλ₯Ό μ΅μννμ¬ λμνμ μ μ½νκ³ μλ² λ‘λλ₯Ό κ°μ ν μ μμ΅λλ€. μ΄λ νΈλν½μ΄ λ§κ±°λ λ€νΈμν¬ λ¦¬μμ€κ° μ νλ μ ν리μΌμ΄μ μ νΉν μ μ©ν©λλ€.
- λ¨μνλ λ©λͺ¨μ΄μ μ΄μ
:
experimental_cacheλ κΈ°λ³Έ μ 곡 λ©λͺ¨μ΄μ μ΄μ λ©μ»€λμ¦μ μ 곡νμ¬ μλ μΊμ± λ‘μ§μ νμμ±μ μμ κ³ μ½λ 볡μ‘μ±μ μ€μ λλ€. - React μλ² μ»΄ν¬λνΈμμ μνν ν΅ν©:
experimental_cacheλ RSCμ μννκ² μλνλλ‘ μ€κ³λμ΄ μλ²μμ λ°μ΄ν° κ°μ Έμ€κΈ° λ° λ λλ§μ μ΅μ νν μ μμ΅λλ€. - ν₯μλ νμ₯μ±: μλ² λ‘λ λ° λ€νΈμν¬ νΈλν½μ μ€μμΌλ‘μ¨
experimental_cacheλ μ ν리μΌμ΄μ μ νμ₯μ±μ ν₯μμν¬ μ μμ΅λλ€.
μ€μ experimental_cache μ¬μ© μ
React μ ν리μΌμ΄μ
μμ λ€μν μλ리μ€λ₯Ό μ΅μ ννλ λ° experimental_cacheλ₯Ό μ¬μ©νλ λ°©λ²μ λν μ€μ μμ λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
μμ 1: API μλ΅ μΊμ±
μ ν μ 보λ₯Ό νμνκΈ° μν΄ μΈλΆ APIμμ λ°μ΄ν°λ₯Ό κ°μ ΈμμΌ νλ μλ리μ€λ₯Ό κ³ λ €ν΄ λ³΄μμμ€. API μλ΅μ λΉκ΅μ μ μ μ΄λ©° μμ£Ό λ³κ²½λμ§ μμ΅λλ€. experimental_cacheλ₯Ό μ¬μ©νμ¬ API μλ΅μ μΊμνκ³ λ€νΈμν¬ μμ² μλ₯Ό μ€μΌ μ μμ΅λλ€.
javascript
import { experimental_cache } from 'react';
const getProductData = experimental_cache(async (productId) => {
const response = await fetch(`https://api.example.com/products/${productId}`);
const data = await response.json();
return data;
});
async function ProductDetails({ productId }) {
const product = await getProductData(productId);
return (
{product.name}
{product.description}
Price: {product.price}
);
}
μ΄ μμμ getProductDataλ APIμμ μ ν λ°μ΄ν°λ₯Ό κ°μ Έμ€λ μΊμλ ν¨μμ
λλ€. ProductDetails κ΅¬μ± μμκ° λμΌν productIdλ‘ λ λλ§λλ©΄ μΊμλ μλ΅μ΄ μ¬μ©λμ΄ λΆνμν API νΈμΆμ λ°©μ§ν©λλ€.
κΈλ‘λ² κ΄μ : μ΄ μμ λ λ€μν κ΅κ°μμ μ΄μλλ μ μ μκ±°λ νλ«νΌμ μ μ©ν μ μμ΅λλ€. μΌλ°μ μΈ API λμ API μλν¬μΈνΈκ° νΉμ μ§μ λλ ν΅νλ‘ νμ§νλ μ μμ΅λλ€. μλ₯Ό λ€μ΄ μκ΅ μμ₯μ κ²½μ° https://api.example.com/products/uk/${productId}, μΌλ³Έ μμ₯μ κ²½μ° https://api.example.com/products/jp/${productId}μ
λλ€.
μμ 2: λ°μ΄ν°λ² μ΄μ€ 쿼리 μΊμ±
experimental_cacheλ λ°μ΄ν°λ² μ΄μ€ 쿼리 κ²°κ³Όλ₯Ό μΊμνλ λ°μλ μ¬μ©ν μ μμ΅λλ€. μ΄λ λ°μ΄ν°λ² μ΄μ€μμ μμ£Ό μ‘μΈμ€νλ λ°μ΄ν°μ μμ‘΄νλ μ ν리μΌμ΄μ
μ νΉν μ μ©ν©λλ€.
javascript
import { experimental_cache } from 'react';
import { db } from './db'; // Assuming you have a database connection
const getUserProfile = experimental_cache(async (userId) => {
const user = await db.query('SELECT * FROM users WHERE id = $1', [userId]);
return user.rows[0];
});
async function UserProfile({ userId }) {
const user = await getUserProfile(userId);
return (
{user.name}
Email: {user.email}
Location: {user.location}
);
}
μ¬κΈ°μ getUserProfileμ λ°μ΄ν°λ² μ΄μ€μμ μ¬μ©μ νλ‘ν λ°μ΄ν°λ₯Ό κ²μνλ μΊμλ ν¨μμ
λλ€. UserProfile κ΅¬μ± μμκ° λμΌν userIdλ‘ λ λλ§λλ©΄ μΊμλ λ°μ΄ν°κ° μ¬μ©λμ΄ λ°μ΄ν°λ² μ΄μ€μ λΆνλ₯Ό μ€μ
λλ€.
κΈλ‘λ² κ΄μ : λ°μ΄ν°λ² μ΄μ€ μνΈ μμ©μ μ§μ λ°μ΄ν° κ°μΈ μ 보 λ³΄νΈ κ·μ μ μν₯μ λ°μ μ μμ΅λλ€. μ¬μ©μ λ°μ΄ν°λ₯Ό μΊμ±ν λλ GDPR(μ λ½), CCPA(μΊλ¦¬ν¬λμ) λ° κΈ°ν νμ§ λ²λ₯ κ³Ό κ°μ κ·μ μ μ€μν΄μΌ ν©λλ€. νμν κ²½μ° μ μ ν λ°μ΄ν° 보쑴 μ μ± λ° μ΅λͺ ν κΈ°μ μ ꡬνν©λλ€.
μμ 3: κ³μ° λΉμ©μ΄ λ§μ΄ λλ κ³μ° μΊμ±
볡μ‘ν κ³μ°μ μννλ ν¨μκ° μλ κ²½μ° experimental_cacheλ κ²°κ³Όλ₯Ό μΊμ±νμ¬ μ±λ₯μ ν¬κ² ν₯μμν¬ μ μμ΅λλ€.
javascript
import { experimental_cache } from 'react';
const fibonacci = experimental_cache((n) => {
if (n <= 1) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
});
function FibonacciComponent({ n }) {
const result = fibonacci(n);
return (
The {n}th Fibonacci number is: {result}
);
}
μ΄ μμμ fibonacciλ nλ²μ§Έ νΌλ³΄λμΉ μλ₯Ό κ³μ°νλ μΊμλ ν¨μμ
λλ€. μΊμλ κ²°κ³Όλ μ¬μ¬μ©λμ΄ νΉν n κ°μ΄ ν° κ²½μ° μ€λ³΅ κ³μ°μ λ°©μ§ν©λλ€.
κΈλ‘λ² κ΄μ : μ§μλ§λ€ κ³μ° μ§μ½μ μΈ κ³μ°μ΄ μΌλ°μ μΈ νΉμ μ¬μ© μ¬λ‘κ° μμ μ μμ΅λλ€. μλ₯Ό λ€μ΄ λ°λμ κΈμ΅ λͺ¨λΈλ§, μ λ€λ°μ κ³Όν μ°κ΅¬ λλ μ€λ¦¬μ½ 밸리μ AI κ°λ°μ μ΄λ¬ν κ³μ°μ μΊμ±νμ¬ μ΄μ μ μ»μ μ μμ΅λλ€.
κ³ λ € μ¬ν λ° λͺ¨λ² μ¬λ‘
experimental_cacheλ μ€μν μ΄μ μ μ 곡νμ§λ§ μ¬μ©ν λλ λ€μ μμλ₯Ό κ³ λ €νλ κ²μ΄ μ€μν©λλ€.
- μΊμ 무ν¨ν: μΊμλ λ°μ΄ν°κ° μ΅μ μνλ‘ μ μ§λλλ‘ μ μ ν μΊμ 무ν¨ν μ λ΅μ κ²°μ ν©λλ€. μκ° κΈ°λ° λ§λ£ λλ μ΄λ²€νΈ κΈ°λ° λ¬΄ν¨νμ κ°μ κΈ°μ μ μ¬μ©νλ κ²μ΄ μ’μ΅λλ€.
- μΊμ ν¬κΈ°: μΊμ ν¬κΈ°λ₯Ό λͺ¨λν°λ§νμ¬ κ³Όλν λ©λͺ¨λ¦¬λ₯Ό μλΉνμ§ μλλ‘ ν©λλ€. μΊμμμ λ μμ£Ό μ¬μ©λλ νλͺ©μ μ κ±°νλ λ©μ»€λμ¦μ ꡬνν©λλ€.
- λ°μ΄ν° μΌκ΄μ±: μΊμλ λ°μ΄ν°κ° κΈ°λ³Έ λ°μ΄ν° μμ€μ μΌκ΄μ±μ΄ μλμ§ νμΈν©λλ€. μ΄λ μ€μκ° λ°μ΄ν°μ μμ‘΄νλ μ ν리μΌμ΄μ μ νΉν μ€μν©λλ€.
- μ€λ₯ μ²λ¦¬: μΊμλ₯Ό μ¬μ©ν μ μκ±°λ μλͺ»λ λ°μ΄ν°λ₯Ό λ°ννλ μν©μ μ μμ μΌλ‘ μ²λ¦¬ν μ μλλ‘ μ μ ν μ€λ₯ μ²λ¦¬λ₯Ό ꡬνν©λλ€.
- ν
μ€νΈ: μ ν리μΌμ΄μ
μ μ² μ ν ν
μ€νΈνμ¬
experimental_cacheκ° μ¬λ°λ₯΄κ² μλνκ³ μμλλ μ±λ₯ κ°μ μ μ 곡νλμ§ νμΈν©λλ€.
μ€ν κ°λ₯ν ν΅μ°°λ ₯: λͺ¨λν°λ§ λꡬλ₯Ό μ¬μ©νμ¬ μΊμ μ μ€λ₯ κ³Ό λ©λͺ¨λ¦¬ μ¬μ©λμ μΆμ ν©λλ€. μ΄ λ°μ΄ν°λ μΊμ ꡬμ±μ μ΅μ ννκ³ μ μ¬μ μΈ λ¬Έμ λ₯Ό μλ³νλ λ° λμμ΄ λ©λλ€.
experimental_cache λ° React μλ² μ»΄ν¬λνΈ(RSC)
experimental_cacheλ React μλ² μ»΄ν¬λνΈ(RSC)μ ν¨κ» μ¬μ©νκΈ°μ νΉν μ ν©ν©λλ€. RSCλ₯Ό μ¬μ©νλ©΄ μλ²μμ React μ»΄ν¬λνΈλ₯Ό μ€ννμ¬ ν΄λΌμ΄μΈνΈμμ λ€μ΄λ‘λνκ³ μ€νν΄μΌ νλ JavaScript μμ μ€μΌ μ μμ΅λλ€. experimental_cacheμ RSCλ₯Ό κ²°ν©νλ©΄ μλ²μμ λ°μ΄ν° κ°μ Έμ€κΈ° λ° λ λλ§μ μ΅μ ννμ¬ μ±λ₯μ λμ± ν₯μμν¬ μ μμ΅λλ€.
RSC νκ²½μμ experimental_cacheλ₯Ό μ¬μ©νμ¬ λ°μ΄ν°λ² μ΄μ€, API λλ κΈ°ν λ°μ΄ν° μμ€μμ κ°μ Έμ¨ λ°μ΄ν°λ₯Ό μΊμν μ μμ΅λλ€. κ·Έλ° λ€μ μΊμλ λ°μ΄ν°λ₯Ό μ¬μ©νμ¬ μλ²μμ μ»΄ν¬λνΈλ₯Ό λ λλ§νμ¬ μ΄κΈ° HTMLμ μμ±νλ λ° κ±Έλ¦¬λ μκ°μ μ€μΌ μ μμ΅λλ€. μ΄λ νμ΄μ§ λ‘λ μκ°μ λ¨μΆνκ³ λ λμ μ¬μ©μ κ²½νμ μ 곡ν©λλ€.
experimental_cacheμ λμ
experimental_cacheλ μ λ§ν κΈ°λ₯μ΄μ§λ§ Reactμμ ν¨μ μΊμ±μ λν λμμ μΈ μ κ·Ό λ°©μμ΄ μμ΅λλ€. λͺ κ°μ§ μΈκΈ° μλ λμμ λ€μκ³Ό κ°μ΅λλ€.
useMemoHook:useMemoHookλ₯Ό μ¬μ©νμ¬ μ’ μμ±μ κΈ°λ°μΌλ‘ ν¨μμ κ²°κ³Όλ₯Ό λ©λͺ¨μ΄μ μ΄μ ν μ μμ΅λλ€. κ·Έλ¬λuseMemoλ μ£Όλ‘ ν΄λΌμ΄μΈνΈ μΈ‘ μΊμ±μ μν΄ μ€κ³λμμΌλ©° μλ² μΈ‘ λ°μ΄ν° κ°μ Έμ€κΈ°μλ ν¨κ³Όμ μ΄μ§ μμ μ μμ΅λλ€.- μ¬μ©μ μ§μ λ©λͺ¨μ΄μ μ΄μ ν¨μ: ν΄λ‘μ λλ WeakMapκ³Ό κ°μ κΈ°μ μ μ¬μ©νμ¬ μμ μ λ©λͺ¨μ΄μ μ΄μ ν¨μλ₯Ό λ§λ€ μ μμ΅λλ€. μ΄ μ κ·Ό λ°©μμ μΊμ± λ‘μ§μ λν λ λ§μ μ μ΄ κΈ°λ₯μ μ 곡νμ§λ§ λ λ§μ μ½λμ 볡μ‘μ±μ΄ νμν©λλ€.
- νμ¬ λ©λͺ¨μ΄μ μ΄μ
λΌμ΄λΈλ¬λ¦¬:
lodash.memoizeμ κ°μ μ¬λ¬ νμ¬ λΌμ΄λΈλ¬λ¦¬λ λ©λͺ¨μ΄μ μ΄μ κΈ°λ₯μ μ 곡ν©λλ€. λ κ³ κΈ μΊμ± κΈ°λ₯μ΄ νμνκ±°λ μμ μ λ©λͺ¨μ΄μ μ΄μ λ‘μ§μ μμ±νμ§ μμΌλ €λ©΄ μ΄λ¬ν λΌμ΄λΈλ¬λ¦¬κ° μ μ©ν μ μμ΅λλ€.
μ€ν κ°λ₯ν ν΅μ°°λ ₯: μ ν리μΌμ΄μ μ νΉμ μꡬ μ¬νμ νκ°νκ³ μꡬ μ¬νμ κ°μ₯ μ ν©ν μΊμ± κΈ°μ μ μ νν©λλ€. μ±λ₯, 볡μ‘μ± λ° React μλ² μ»΄ν¬λνΈμμ ν΅ν©κ³Ό κ°μ μμλ₯Ό κ³ λ €ν©λλ€.
Reactμμ ν¨μ μΊμ±μ λ―Έλ
experimental_cacheλ κ°λ°μμκ² κ°λ ₯ν μ±λ₯ μ΅μ ν λꡬλ₯Ό μ 곡νλ €λ Reactμ λ
Έλ ₯μμ μ€μν μ§μ μ λνλ
λλ€. Reactκ° κ³μ λ°μ ν¨μ λ°λΌ experimental_cache APIκ° λμ± κ°μ λκ³ μΈλ ¨λ κ²μΌλ‘ μμν μ μμ΅λλ€. μμΌλ‘ experimental_cacheλ Reactμ νμ€ κΈ°λ₯μ΄ λμ΄ ν¨μ μΊμ±μ λ¨μννκ³ μ 체 React μ ν리μΌμ΄μ
μ μ±λ₯μ ν₯μμν¬ μ μμ΅λλ€.
κΈλ‘λ² νΈλ λ: μλ² μΈ‘ λ λλ§ λ° μμ§ μ»΄ν¨ν
μΌλ‘μ νΈλ λλ λ³΄λ€ ν¨μ¨μ μΈ μΊμ± λ©μ»€λμ¦μ νμμ±μ μ£Όλνκ³ μμ΅λλ€. experimental_cacheλ μ΄λ¬ν νΈλ λμ λΆν©νμ¬ κ°λ°μκ° μλ²μμ λ°μ΄ν° κ°μ Έμ€κΈ° λ° λ λλ§μ μ΅μ νν μ μλλ‘ μ§μν©λλ€.
κ²°λ‘
experimental_cacheλ ν¨μ κ²°κ³Όλ₯Ό μΊμ±νμ¬ React μ ν리μΌμ΄μ
μ±λ₯μ μ΅μ ννλ κ°λ ₯ν λꡬμ
λλ€. λ©λͺ¨μ΄μ μ΄μ
μ λ¨μννκ³ , μ€λ³΅ κ³μ°μ μ€μ΄λ©°, React μλ² μ»΄ν¬λνΈμ μννκ² ν΅ν©λ©λλ€. μ¬μ ν μ€νμ μ΄μ§λ§ μ¬μ©μ κ²½νκ³Ό νμ₯μ±μ ν₯μμν€λ λ° μ€μν μ΄μ μ μ 곡ν©λλ€. κΈ°λ₯μ μ΄ν΄νκ³ , λͺ¨λ² μ¬λ‘λ₯Ό κ³ λ €νκ³ , μ€μ μμ λ₯Ό νμν¨μΌλ‘μ¨ experimental_cacheλ₯Ό νμ©νμ¬ React μ ν리μΌμ΄μ
μ μ μ¬λ ₯μ μ΅λν λ°νν μ μμ΅λλ€.
μ΅μ React λ¦΄λ¦¬μ€ λ° μ€λͺ
μμ λν μ΅μ μ 보λ₯Ό μ μ§νμ¬ experimental_cache APIμ λν λ³κ²½ μ¬νμ΄λ μ
λ°μ΄νΈλ₯Ό μμ§νμμμ€. experimental_cacheμ κ°μ νμ μ μΈ κΈ°λ₯μ μμ©ν¨μΌλ‘μ¨ λ°μ΄λ μ¬μ©μ κ²½νμ μ 곡νλ κ³ μ±λ₯ React μ ν리μΌμ΄μ
μ ꡬμΆν μ μμ΅λλ€.
μ£Όμ λ΄μ©
experimental_cacheλ ν¨μ μΊμ±μ μν μ€νμ React APIμ λλ€.- μ€λ³΅ κ³μ° λ° λ€νΈμν¬ μμ²μ μ€μ¬ μ±λ₯μ ν₯μμν΅λλ€.
- λ©λͺ¨μ΄μ μ΄μ μ λ¨μννκ³ React μλ² μ»΄ν¬λνΈμ μννκ² ν΅ν©λ©λλ€.
experimental_cacheλ₯Ό μ¬μ©ν λλ μΊμ 무ν¨ν, ν¬κΈ°, μΌκ΄μ± λ° μ€λ₯ μ²λ¦¬λ₯Ό κ³ λ €νμμμ€.useMemoλ° νμ¬ λΌμ΄λΈλ¬λ¦¬μ κ°μ λ체 μΊμ± κΈ°μ μ μ΄ν΄λ³΄μμμ€.