vuact
npx skills add https://github.com/yinhangfeng/vuact --skill vuact
Agent 安装分布
Skill 文档
Vuact
ä»ä¹æ¯ Vuact
Vuact æ¯å¨ Vue3 ç¯å¢ä¸æ¨¡æ React è¿è¡æ¶çå ¼å®¹å±ãå®è®©ä½ å¯ä»¥å¨ Vue 项ç®ä¸ç´æ¥ä½¿ç¨ React ç»ä»¶çæï¼ä¹å¯ä»¥ä½ä¸ºä¸ä¸ªé«åº¦å ¼å®¹ React çç±» React åºæ¥å¼åææ¯æ æ å ³çç»ä»¶åºã
æ ¸å¿ä»·å¼ï¼
- å¨ Vue åºç¨ä¸æ ç¼è°ç¨ React ç»ä»¶
- æ¯æ Vue â React ååè¿ç§»
- å 许å¨ä¸ä¸ªåºç¨ä¸åæ¶ä½¿ç¨ Vue å React
- å¯ä»¥ç¨ç±» React æ¹å¼å¼åè·¨ææ¯æ çç»ä»¶åº
å¿«éå¼å§
宿´çé ç½®ä¸åå§åæµç¨è¯·æ¥ç setup-config.md
æ ¸å¿è½å
1. ç»ä»¶äºè½¬
Vuact æä¾ä¸¤ä¸ªæ ¸å¿å½æ°æ¥å®ç° Vue å React ç»ä»¶çäºç¸è½¬æ¢ï¼
- r2v (react-to-vue)ï¼å° React ç»ä»¶è½¬æ¢ä¸º Vue ç»ä»¶
- v2r (vue-to-react)ï¼å° Vue ç»ä»¶è½¬æ¢ä¸º React ç»ä»¶
详ç»ç¤ºä¾è¯·åèï¼
2. Slots 䏿¸²æå±æ§
Vuact æä¾äºçµæ´»çææ§½ä¸æ¸²æå±æ§è½¬æ¢æºå¶ï¼
- Vue ä¾§å¯ä»¥éè¿ slots ç» React ç»ä»¶ä¼ é children, element props æ render props
- React ä¾§å¯ä»¥éè¿ slot: åç¼ç屿§ç» Vue ç»ä»¶ä¼ é slots
详ç»ç¤ºä¾è¯·åèï¼
3. äºä»¶ä¸å±æ§äºé
Vuact èªå¨å¤ç Vue å React ä¹é´ç屿§åäºä»¶è½¬æ¢ï¼
- Vue ç class â React ç className
- Vue ç styleï¼å符串æå¯¹è±¡ï¼â React ç styleï¼å¯¹è±¡ï¼
- React ç className â Vue ç class
- React ç styleï¼å¯¹è±¡ï¼åä½lessèªå¨å pxï¼â Vue ç style
- Vue ç v-model æ´æ°äºä»¶ â React ç onUpdate:xxx
详ç»ç¤ºä¾è¯·åèï¼
4. Context äºé
Vuact æ¯æ Vue å React ä¹é´ç Context ååä¼ éï¼
- Vue ä¾§å¯ä»¥éè¿ provideContext ç» React ç»ä»¶æä¾ React Context
- React ä¾§å¯ä»¥éè¿ VueContextProvider ç» Vue ç»ä»¶æä¾ Vue Context
- ä¸¤ç§æ¡æ¶ç Context å¯ä»¥äºç¸ç©¿é
详ç»ç¤ºä¾è¯·åèï¼
5. Ref äºé
Vuact æ¯æ Vue å React ç»ä»¶ä¹é´ç ref ä¼ éï¼
- Vue ä¾§éè¿ ref 屿§è·å React ç»ä»¶çå®ä¾
- React ä¾§éè¿ ref 屿§è·å Vue ç»ä»¶çå®ä¾
- 彿°ç»ä»¶éè¿ useImperativeHandle æ´é²æ¹æ³
详ç»ç¤ºä¾è¯·åèï¼
6. å¨ React ç»ä»¶ä¸ä½¿ç¨ Vue Hooks
Vuact å è®¸å¨ React ç»ä»¶ä¸ç´æ¥ä½¿ç¨ Vue çååºå¼è½åï¼
- éè¿ useVueEffectScope å建 Vue ååºå¼ä½ç¨å
- å¨è¯¥ä½ç¨åå å¯ä»¥ä½¿ç¨ refãwatchãcomputed ç Vue Hooks
- å¯ä»¥å®ç°ä¸¤ç§æ¡æ¶ååºå¼ç³»ç»çç»å
详ç»ç¤ºä¾è¯·åèï¼
å ¼å®¹æ§ä¸éå¶
çæ¬å ¼å®¹æ§
- React å ¼å®¹ï¼ä¸»è¦å ¼å®¹ React 16-18ï¼React 19 æ¯æå¼åä¸
- Vue è¦æ±ï¼Vue çæ¬éè¦ >= 3.5
- æå»ºå·¥å ·ï¼ä» æä¾ ESM çæ¬ï¼é使ç¨ç°ä»£æå»ºå·¥å ·
å·²ç¥éå¶
ç±äº Vuact æ¬è´¨æ¯åºäº Vue çï¼åå¨ä¸äºå±éæ§æ æ³å®å ¨æ¨¡æ Reactï¼
- 并忏²æï¼Vue éç¨é彿¸²æï¼æ æ³å®ç° React ç并忏²æç¹æ§
- Commit æºå¶ï¼Vue éç¨è¾¹é彿¸²æè¾¹ä¿®æ¹ DOMï¼æ²¡æ React ç commit æºå¶
- useInsertionEffect çè°ç¨æ¶æºä¸ React ä¸å
- getSnapshotBeforeUpdate çè°ç¨æ¶æºä¸ React ä¸å
- äºä»¶ç³»ç»ï¼@vue/runtime-dom æ æ³ä¸ react-dom å®å
¨å¯¹é½
- react-dom ç SyntheticEvent ç³»ç»å®ç°äºä¸å¥ä¸æ å web ä¸åçäºä»¶ç³»ç»
- react-dom 对ä¸äºåç DOM åäºç¹æ®å¤çï¼å¦ inputãform çï¼
宿´ç¤ºä¾åè
æéå 载对åºåèææ¡£è·å宿´ç¤ºä¾ä»£ç ä¸è¯¦ç»è¯´æã
Vue è°ç¨ React (r2v)
- r2v åºç¡ – æåºæ¬ç Vue è°ç¨ React ç»ä»¶ç¨æ³
- r2v äºä»¶åè° – Vue ä¸ React ç»ä»¶ä¹é´çäºä»¶ä¼ é
- r2v æ··åç»ä»¶ – Vue React æ··å使ç¨ï¼åæ¶ä½¿ç¨ä¸¤ç§æ¡æ¶çè½å
- r2v React Context – Vue 为 React ç»ä»¶æä¾ React Context
- r2v è·åç»ä»¶ ref – Vue è·å React ç»ä»¶ç ref
- r2v 渲æå±æ§ä¸ slots – React ç»ä»¶ç render prop å element prop ç¨æ³
- r2v Vue Context – Vue 为 React ç»ä»¶æä¾ Vue Context
- r2v Vue Hooks – å¨ React ç»ä»¶ä¸ä½¿ç¨ Vue Hooks
React è°ç¨ Vue (v2r)
- v2r åºç¡ – æåºæ¬ç React è°ç¨ Vue ç»ä»¶ç¨æ³
- v2r äºä»¶åè° – React ä¸ Vue ç»ä»¶ä¹é´çäºä»¶ä¼ é
- v2r React Context – React 为 Vue ç»ä»¶æä¾ React Context
- v2r è·åç»ä»¶ ref – React è·å Vue ç»ä»¶ç ref
- v2r Slots – React 为 Vue ç»ä»¶ä¼ é slots
- v2r Vue Context – React 为 Vue ç»ä»¶æä¾ Vue Context
é ç½®ä¸åå§å
- setup-config.md – 宿´çé ç½®ä¸åå§åæåï¼æ¯ README æ´å ¨é¢