ì í늬ìŒìŽì ì ê°ë ¥í íë 몚ëí°ë§ì ìí Reactì experimental_Activity API륌 ìŽíŽë³Žê³ , ì¬ì©ì 겜í곌 ì±ë¥ ë¶ìì í¥ììí€ìžì.
React experimental_Activity: íë 몚ëí°ë§ì ìí ì¢ í© ê°ìŽë
Reactë ì±ë¥, ê°ë°ì 겜í, ì ë°ì ìž ì í늬ìŒìŽì
íì§ì ê°ì íêž° ìíŽ ìë¡ìŽ êž°ë¥ê³Œ API륌 ëì
íë©° ëìììŽ ë°ì íê³ ììµëë€. ê·žì€ íëìž experimental_Activityë React ì í늬ìŒìŽì
ëŽìì ê°ë ¥í íë 몚ëí°ë§ì ìíŽ ì€ê³ë ì€íì ìž APIì
ëë€. ìŽ ê°ìŽëììë ìŽ APIì êž°ë¥, ì¬ì© ì¬ë¡, ê·žëŠ¬ê³ ì í늬ìŒìŽì
ì ì±ë¥ê³Œ ì¬ì©ì 겜íì ìŽë»ê² í¥ììí¬ ì ìëì§ì ëí í¬êŽì ìž ê°ì륌 ì ê³µí©ëë€.
React experimental_Activityë 묎ììžê°?
experimental_Activityë ê°ë°ìê° ì»Ží¬ëíž ëŽìì ë°ìíë ë€ìí íëì 몚ëí°ë§í ì ìê² íŽì£Œë Reactì ì€íì ìž APIì
ëë€. ìŽë¬í íëìë ë ëë§, ë°ìŽí° ê°ì žì€êž°, ì¬ì©ì ìížìì© ë±ìŽ í¬íšë ì ììµëë€. ìŽë¬í íëì ì¶ì íšìŒë¡ìš ê°ë°ìë ì í늬ìŒìŽì
ìŽ ìŽë»ê² ìíëëì§ì ëí ê·ì€í íµì°°ë ¥ì ì»ê³ , ë³ëª© íìì ìë³íë©°, ë ëì ì¬ì©ì 겜íì ìíŽ ìµì íí ì ììµëë€.
experimental_Activityì 죌ì 목íë ì±ë¥ ë¶ì ë° ëë²ê¹
ì ìíŽ React 컎í¬ëížë¥Œ ê³ìž¡íë íì€íëê³ íì¥ ê°ë¥í ë°©ë²ì ì ê³µíë ê²ì
ëë€. ìŽë íë ì¶ì ì ëí ë ìžë¶íë ì ìŽë¥Œ ì ê³µíšìŒë¡ìš React íë¡íìŒë¬ ë° React ê°ë°ì ë구ì ê°ì Ʞ졎 ë구륌 볎ìíë ê²ì 목íë¡ í©ëë€.
죌ì ê°ë
experimental_Activityì íµì¬ ê°ë
ì ìŽíŽíë ê²ì API륌 íšê³Œì ìŒë¡ ì¬ì©íë ë° ì€ìí©ëë€:
- íë(Activities): íëì React 컎í¬ëížê° ìííë í¹ì ìì ëšì ëë ì°ì°ì ëíë ëë€. ìë¡ë ë ëë§, ë°ìŽí° ê°ì žì€êž°, ìŽë²€íž ì²ëЬ, ìëª ì£Œêž° ë©ìë ë±ìŽ ììµëë€.
- íë ì í(Activity Types): íëì 몚ëí°ë§ ë°ìŽí°ì ë ë§ì 컚í ì€ížì 구조륌 ì ê³µíêž° ìíŽ ë€ìí ì íìŒë¡ ë¶ë¥ë ì ììµëë€. ìŒë°ì ìž íë ì íìë 'render', 'fetch', 'event', 'effect' ë±ìŽ í¬íšë ì ììµëë€.
- íë 구ë (Activity Subscriptions): ê°ë°ìë í¹ì íë ì íì 구ë íì¬ íŽë¹ íëìŽ ë°ìí ëë§ë€ ì늌ì ë°ì ì ììµëë€. ìŽë¥Œ íµíŽ ì€ìê° ëªšëí°ë§ ë° ë¶ììŽ ê°ë¥í©ëë€.
- íë 컚í ì€íž(Activity Context): ê° íëì íëì ììí 컎í¬ëíž, ìì ìê°, êŽë š ë°ìŽí° ë± íëì ëí ì¶ê° ì 볎륌 ì ê³µíë 컚í ì€ížì ì°ê²°ë©ëë€.
experimental_Activityì ì¬ì© ì¬ë¡
experimental_Activityë React ì í늬ìŒìŽì
ì ê°ì íêž° ìíŽ ë€ìí ìë늬ì€ìì ì¬ì©ë ì ììµëë€:
1. ì±ë¥ 몚ëí°ë§
ë ëë§ ìê°, ë°ìŽí° ê°ì žì€êž° ìì ìê° ë° êž°í ì±ë¥ì ì€ìí íëì ì¶ì íì¬ ì±ë¥ ë³ëª© íìì ìë³íê³ ë ë¹ ë¥ž ë¡ë©ê³Œ ë¶ëë¬ìŽ ìížìì©ì ìíŽ ì í늬ìŒìŽì
ì ìµì íí ì ììµëë€. ì륌 ë€ìŽ, experimental_Activity륌 ì¬ì©íì¬ ë¶íìíê² ë€ì ë ëë§ëë 컎í¬ëížë ë묎 ì€ë 걞늬ë ë°ìŽí° ê°ì žì€êž°ë¥Œ ê°ì§í ì ììµëë€.
ìì: ìí 칎íë¡ê·žë¥Œ íìíë ì ììê±°ë ì í늬ìŒìŽì
ì ììíŽ ë³Žìžì. experimental_Activity륌 ì¬ì©íì¬ ê° ìí 칎ëì ë ëë§ ìê°ì 몚ëí°ë§í ì ììµëë€. ìŒë¶ 칎ëê° ë€ë¥ž 칎ëë³Žë€ ë ëë§íë ë° íšì¬ ë ì€ë 걞늰ë€ë ê²ì ë°ê²¬í멎 ììžì ì¡°ì¬íê³ ì»Ží¬ëížì ë ëë§ ë¡ì§ì ìµì íí ì ììµëë€.
2. ì¬ì©ì 겜í ë¶ì
ë²íŒ íŽëŠ, ìì ì ì¶, íì ìŽë²€ížì ê°ì ì¬ì©ì ìížìì©ì 몚ëí°ë§í멎 ì¬ì©ìê° ì í늬ìŒìŽì 곌 ìŽë»ê² ìížìì©íëì§ì ëí íµì°°ë ¥ì ì»ì ì ììµëë€. ìŽ ì 볎ë ì¬ì©ì ìží°íìŽì€ë¥Œ ê°ì íê³ , ìí¬íë¡ì°ë¥Œ ê°ìííë©°, ì ë°ì ìž ì¬ì©ì 겜íì í¥ììí€ë ë° ì¬ì©ë ì ììµëë€.
ìì: ì¬ì©ìê° ê²ì묌ì 'ì¢ìì'륌 ëë¥Žê³ ëêžì ë¬ ì ìë ìì 믞ëìŽ ì í늬ìŒìŽì ì ìê°íŽ ë³Žìžì. 'ì¢ìì'ë ëêž ìì ìŽ ìë£ëë ë° ê±žëŠ¬ë ìê°ì 몚ëí°ë§íì¬ ì ì¬ì ìž ì§ì°ì ìë³íê³ , ìë² ìž¡ ì²ëЬë íŽëŒìŽìžíž ìž¡ ë ëë§ì ìµì ííì¬ ë ë°ìì ìž ì¬ì©ì 겜íì ì ê³µí ì ììµëë€.
3. ëë²ê¹ ë° ì€ë¥ ì¶ì
experimental_Activityë 컎í¬ëíž ëŽìì ë°ìíë ì€ë¥ì ììžë¥Œ ì¶ì íë ë° ì¬ì©ë ì ììµëë€. ì€ë¥ë¥Œ í¹ì íë곌 ì°ê²°íšìŒë¡ìš 묞ì ì 귌볞 ììžì ì ìíê² íì
íê³ ë íšìšì ìŒë¡ ìì í ì ììµëë€. ì륌 ë€ìŽ, experimental_Activity륌 ì¬ì©íì¬ ë°ìŽí° ê°ì žì€êž°ë ë ëë§ ì€ì ë°ìíë ì€ë¥ë¥Œ ì¶ì í ì ììµëë€.
ìì: ìžë¶ APIìì 죌ì ê°ê²©ì ê°ì žì€ë êžìµ ì í늬ìŒìŽì
ìŽ ìë€ê³ ê°ì íŽ ë³Žê² ìµëë€. experimental_Activity륌 ì¬ì©íì¬ API ížì¶ ì€ì ë°ìíë ì€ë¥ë¥Œ ì¶ì í ì ììµëë€. ì€ë¥ê° ë°ìí멎 ì€ë¥ ë©ìì§, ížì¶ì ììí 컎í¬ëíž, ë°ì ìê°ì êž°ë¡íì¬ ë¬žì 륌 ì ìíê² ì§ëšíê³ íŽê²°íë ë° ëìì ì€ ì ììµëë€.
4. íë¡íìŒë§ ë° ìµì í
experimental_Activity륌 íë¡íìŒë§ ë구ì íµí©í멎 ì í늬ìŒìŽì
ì±ë¥ì ëí ë ììží ë¶ììŽ ê°ë¥í©ëë€. experimental_Activityê° ìì§í ë°ìŽí°ë¥Œ ì¬ì©íì¬ ê°ì¥ ë§ì 늬ìì€ë¥Œ ìë¹íë ìœëì í¹ì ììì ìë³íê³ ê·žì ë°ëŒ ìµì íí ì ììµëë€.
ìì: ìë§ì ì°šížì ê·žëí륌 ë ëë§íë ë³µì¡í ë°ìŽí° ìê°í ì í늬ìŒìŽì
ì ìê°íŽ ë³Žìžì. experimental_Activity륌 íë¡íìŒë§ ë구ì íµí©íì¬ ë ëë§íë ë° ê°ì¥ ì€ë 걞늬ë 컎í¬ëížë¥Œ ìë³íê³ ë ëë§ ë¡ì§ì ìµì ííì¬ ì í늬ìŒìŽì
ì ì ë°ì ìž ì±ë¥ì í¥ììí¬ ì ììµëë€.
experimental_Activity ì¬ì© ë°©ë²
experimental_Activity APIë íëì 구ë
íê³ êŽëЬíêž° ìí ì¬ë¬ íšìì í
ì ì ê³µí©ëë€. ë€ìì Ʞ볞ì ìž ì¬ì© ììì
ëë€:
ì°žê³ : experimental_Activityë ì€íì ìž APIìŽë¯ë¡, í¥í React 늎늬ì€ìì ì¬ì©ë²ê³Œ ê°ì©ì±ìŽ ë³ê²œë ì ììµëë€. íì ê³µì React 묞ì륌 ì°žì¡°íì¬ ìµì ì 볎륌 íìžíìžì.
뚌ì , react íší€ì§(ëë íŽë¹ ì€íì ë¹ë)ìì íìí íšì륌 ê°ì žììŒ í©ëë€:
import { unstable_subscribe, unstable_wrap } from 'react';
ê·žë° ë€ì, unstable_subscribe륌 ì¬ì©íì¬ í¹ì íë ì íì 구ë
í ì ììµëë€:
const unsubscribe = unstable_subscribe(activity => {
console.log('Activity:', activity);
});
// Later, to unsubscribe:
unsubscribe();
ëí unstable_wrap륌 ì¬ì©íì¬ íšìì 컎í¬ëížë¥Œ ê°ìžì ì€íë ë íëìŽ ìëìŒë¡ ì¶ì ëëë¡ í ì ììµëë€:
const wrappedFunction = unstable_wrap(originalFunction, 'myActivityType');
ë€ìì experimental_Activity륌 ì¬ì©íì¬ ì»Ží¬ëížì ë ëë§ì ì¶ì íë ë ìì í ììì
ëë€:
import React, { useState, useEffect, unstable_subscribe } from 'react';
function MyComponent() {
const [count, setCount] = useState(0);
useEffect(() => {
const unsubscribe = unstable_subscribe(activity => {
if (activity.type === 'render' && activity.component === 'MyComponent') {
console.log('MyComponent rendered:', activity);
}
});
return () => {
unsubscribe();
};
}, []);
return (
<div>
<p>Count: {count}</p>
<button onClick={() => setCount(count + 1)}>Increment</button>
</div>
);
}
export default MyComponent;
ìŽ ììììë 'render' íë ì íì 구ë
íê³ MyComponent 컎í¬ëížì êŽë šë íëë§ íí°ë§í©ëë€. 컎í¬ëížê° ë€ì ë ëë§ë ëë§ë€ ìœìì ë©ìì§ë¥Œ êž°ë¡í©ëë€.
React ê°ë°ì ë구ì íµí©íêž°
experimental_Activityë íëì 몚ëí°ë§íë ê°ë ¥í API륌 ì ê³µíì§ë§, React ê°ë°ì ë구ì íµí©í멎 íšì¬ ë ì ì©í©ëë€. ê°ë°ì ë구ìì íë ë°ìŽí°ë¥Œ ìê°ííšìŒë¡ìš ì í늬ìŒìŽì
ì±ë¥ì ëí ë ê¹ì ìŽíŽë¥Œ ì»ê³ ì ì¬ì ìž ë¬žì 륌 ë ìœê² ìë³í ì ììµëë€.
experimental_Activity륌 React ê°ë°ì ë구ì íµí©íë €ë©Ž ì¬ì©ì ì ì ê°ë°ì ë구 íë¬ê·žìžì ì¬ì©íŽìŒ í©ëë€. Reactë ê°ë°ì ë구ì êž°ë¥ì íì¥í ì ìë ì¬ì©ì ì ì ê°ë°ì ë구 íë¬ê·žìžì ë§ëë ë°©ë²ì ì ê³µí©ëë€. íë¬ê·žìžì unstable_subscribe륌 ì¬ì©íì¬ íëì 구ë
íê³ ê°ë°ì ë구 ëŽì ì¬ì©ì ì ì íšëì íë ë°ìŽí°ë¥Œ íìí ì ììµëë€.
experimental_Activity ì¬ì©ì ìí ëªšë² ì¬ë¡
experimental_Activity륌 ìµëí íì©íë €ë©Ž ë€ì ëªšë² ì¬ë¡ë¥Œ ë°ë¥Žìžì:
- êŽë š íëë§ ì¶ì íêž°: ë묎 ë§ì íëì ì¶ì í멎 ì±ë¥ì ìí¥ì ë¯žì¹ ì ììŒë¯ë¡ íŒíìžì. ì í늬ìŒìŽì ì ì±ë¥ê³Œ ì¬ì©ì 겜íì ì€ìí íëì ì¶ì íë ë° ì§ì€íìžì.
- íë ì íì íšê³Œì ìŒë¡ ì¬ì©íêž°: íë ì íì ì¬ì©íì¬ íëì ë¶ë¥íê³ ëªšëí°ë§ ë°ìŽí°ì ë ë§ì 컚í ì€ížë¥Œ ì ê³µíìžì. íëì ì±ê²©ì ì ííê² ë°ìíë ì믞 ìë íë ì íì ì ííìžì.
- íë ížë€ë¬ìì ëžë¡í¹ ìì íŒíêž°: íë ížë€ë¬ íšìë ê°ë²ŒììŒ íë©° ë€ížìí¬ ìì²ìŽë ë³µì¡í ê³ì°ê³Œ ê°ì ëžë¡í¹ ìì ì ìííì§ ìììŒ í©ëë€. ìŽë íë ížë€ë¬ê° ì í늬ìŒìŽì ì±ë¥ì ìí¥ì 믞ì¹ë ê²ì ë°©ì§í ì ììµëë€.
- 구ë
ì 늬íêž°: ë©ëªšëЬ ëì륌 ë°©ì§íêž° ìíŽ ë ìŽì íìíì§ ìì íëì íì 구ë
ì ì·šìíìžì.
unstable_subscribeê° ë°ííëunsubscribeíšì륌 ì¬ì©íì¬ íë 구ë ì ì·šìíìžì. - íë¡ëì
í겜ìì ì ì€íê² ì¬ì©íêž°:
experimental_Activityë ì€íì ìž APIìŽë¯ë¡ íë¡ëì í겜ììë ì ì€íê² ì¬ì©íë ê²ìŽ ì¢ìµëë€. ì² ì í í ì€ížíê³ ì±ë¥ì 몚ëí°ë§íì¬ ì í늬ìŒìŽì ì ë¶ì ì ìž ìí¥ì 믞ì¹ì§ ìëì§ íìžíìžì. êž°ë¥ íë귞륌 ì¬ì©íì¬ íë¡ëì í겜ìì íë 몚ëí°ë§ì íì±ííê±°ë ë¹íì±ííë ê²ì ê³ ë €íìžì.
experimental_Activityì ëì
experimental_Activityê° Reactìì íëì 몚ëí°ë§íë ê°ë ¥í ë°©ë²ì ì ê³µíì§ë§, ê³ ë €í ì ìë ë€ë¥ž ì ê·Œ ë°©ìë ììµëë€:
- React íë¡íìŒë¬: React íë¡íìŒë¬ë React ê°ë°ì ë구ì ëŽì¥ë ë구ë¡, React 컎í¬ëížì ì±ë¥ì íë¡íìŒë§í ì ììµëë€. ì±ë¥ ë³ëª© íìì ìë³íê³ ë ëì ì±ë¥ì ìíŽ ì í늬ìŒìŽì ì ìµì ííë ë° ëììŽ ë ì ììµëë€.
- ì±ë¥ 몚ëí°ë§ ë구: React ì í늬ìŒìŽì ì ì±ë¥ì ì¶ì íë ë° ì¬ì©í ì ìë ë§ì íì¬ ì±ë¥ 몚ëí°ë§ ëêµ¬ê° ììµëë€. ìŽë¬í ë구ë ì¢ ì¢ ì€ìê° ëªšëí°ë§, ì€ë¥ ì¶ì , ì¬ì©ì 겜í ë¶ì곌 ê°ì ë ê³ êž êž°ë¥ì ì ê³µí©ëë€. ìë¡ë New Relic, Sentry, DatadogìŽ ììµëë€.
- ì¬ì©ì ì ì ê³ìž¡: ì í늬ìŒìŽì ì í¹ì íëì ì¶ì íêž° ìíŽ ì첎ì ìž ì¬ì©ì ì ì ê³ìž¡ì 구íí ìë ììµëë€. ìŽ ì ê·Œ ë°©ìì 몚ëí°ë§ íë¡ìžì€ì ëí ìµëíì ì ìŽë¥Œ ì ê³µíì§ë§, 구ííê³ ì ì§ êŽëЬíë ë° ë ë§ì ë žë ¥ìŽ íìí©ëë€.
ê²°ë¡
experimental_Activityë React ì í늬ìŒìŽì
ëŽì íëì 몚ëí°ë§íë íì€íëê³ íì¥ ê°ë¥í ë°©ë²ì ì ê³µíë ì ë§í APIì
ëë€. ìŽë¬í íëì ì¶ì íšìŒë¡ìš ì í늬ìŒìŽì
ì ì±ë¥ì ëí ê·ì€í íµì°°ë ¥ì ì»ê³ , ë³ëª© íìì ìë³íë©°, ë ëì ì¬ì©ì 겜íì ìíŽ ìµì íí ì ììµëë€. ìì§ ì€íì ìž APIìŽì§ë§, React ê°ë°ììê² ê·ì€í ëêµ¬ê° ë ì ì¬ë ¥ìŽ ììµëë€.
ì í늬ìŒìŽì ì±ë¥ì ìí¥ì 믞ì¹ì§ ìëë¡ ì ì€íê² ì¬ì©íê³ ëªšë² ì¬ë¡ë¥Œ ë°ë¥Žë ê²ì ìì§ ë§ìžì. APIì ëí ì ë°ìŽíž ë° ë³ê²œ ì¬íì ê³µì React 묞ì륌 죌ìíìžì.
experimental_Activityë ë€ë¥ž ë구륌 íµíŽ íë 몚ëí°ë§ êž°ì ì ì±ííšìŒë¡ìš, ì ìžê³ ì¬ì©ììê² íìí 겜íì ì ê³µíë ë ì±ë¥ìŽ ì¢ê³ ì¬ì©ì ì¹íì ìž React ì í늬ìŒìŽì
ì 구ì¶í ì ììµëë€. ì ê·Œì±, ë€ìí ë€ížìí¬ ì¡°ê±Žììì ì±ë¥, ê·žëŠ¬ê³ ë€ìí ì¬ì©ììžµì ë§ì¶ ì¬ì©ì 겜íì 볎ì¥íë©° ìœëì ì ìžê³ì ìž ìí¥ì íì ê³ ë €íë ê²ì êž°ìµíìžì.