react-table-search-pagination
npx skills add https://github.com/ponpon55837/mariokartworldparams --skill react-table-search-pagination
Agent 安装分布
Skill 文档
React Table Search Pagination
æè¿°
鿝ä¸åå°éèç React/Next.js å°æ¡ä¸è¡¨æ ¼ãæå°ãåé åè½ç宿´éç¼æåãæ¶µèäºå¾åºç¤çç«¶æ æ¢ä»¶èçå°è¤éççæ ç®¡çé¸æçæææ ¸å¿æè¡å¯¦ä½èæä½³å¯¦è¸ã
é©ç¨å ´æ¯
- éè¦å¯¦ä½æå°èåé åè½ç React/Next.js æç¨
- èç大éè³æçå表å±ç¤ºå CRUD æä½
- éè¦é«æè½çç¡éæ²åæèæ¬åå表
- é¢è¨ç«¶æ æ¢ä»¶ãçæ åæ¥çè¤éè³æç®¡çåé¡
- éè¦é¸æåé©ççæ ç®¡çæ¹æ¡çå°æ¡
ð æåçµæ§
æ¬æåå·²æåçºå¤åå°éæä»¶ï¼ä¾¿æ¼æ¥é±åç¶è·ï¼
ð æ ¸å¿æè¡æå
| æä»¶ | æè¿° | 主è¦å §å®¹ |
|---|---|---|
| race-condition.md | ç«¶æ æ¢ä»¶èç | AbortControllerãBoolean FlagãTanStack Query |
| search-system.md | æå°ç³»çµ±å¯¦ä½ | èªå宿ãè¼¸å ¥æ³åªåãé²è·æ©å¶ |
| pagination-system.md | åé ç³»çµ±å¯¦ä½ | å¿«åçç¥ãç°å¸¸èçãæè½åªå |
| infinite-scroll.md | åæ å è¼èç¡éæ²å | Intersection Observerãä½ç½®ä¿å |
| intersection-observer.md | Intersection Observer API | æ¶å è¼ãåç«è§¸ç¼ã廣å追蹤 |
| crud-sync.md | åè¡¨è³æ CRUD 忥 | 忥çç¥ãçæ ç®¡çæ´å |
| state-management.md | çæ ç®¡ç鏿æå | æ±ºçæ¨¹ãå·¥å ·å°æ¯ãæä½³å¯¦è¸ |
| refresh-token-race-condition.md | Refresh Token èç«¶æ æ¢ä»¶ | ç¡æå·æ°ãAxiosææªå¨ãTanStack Query/SWRæ´å |
ð å¿«éå°èª
å¿«ééå§
å¦æä½ æ¯æ°å°æ¡ï¼å»ºè°é±è®é åºï¼
- state-management.md – äºè§£çæ ç®¡çæ±ºçæ¡æ¶
- race-condition.md – ææ¡éåæ¥è«æ±èç
- search-system.md – 坦使å°åè½
- æ ¹æéæ±é¸æï¼
- åé 系統 â pagination-system.md
- ç¡éæ²å â infinite-scroll.md
- CRUD æä½ â crud-sync.md
å°æ¡æª¢æ¥æ¸ å®
宿´éç¼æª¢æ¥æ¸ å®è«åèåå°éæä»¶æ«å°¾çãéç¼æª¢æ¥æ¸ å®ãç« ç¯ã
ð ï¸ æè¡æ£§æ¨è¦
çæ ç®¡ççµå
| å°æ¡è¦æ¨¡ | æ¨è¦çµå | çç± |
|---|---|---|
| å°åï¼< 10 é ï¼ | URL + useState + Context | è¼éãå¿«ééç¼ãé¶ä¾è³´ |
| ä¸åï¼10-30 é ï¼ | TanStack Query + URL + Zustand/Jotai | 平衡åè½èè¤é度 |
| 大åï¼> 30 é ï¼ | TanStack Query + URL + Redux Toolkit | 宿´çæ ãåéè¦ç¯ |
| 髿§è½è¦æ± | TanStack Query + Zustand | 極簡 APIãæé«æè½ |
| è¤éçæ ä¾è³´ | TanStack Query + Jotai | åååç´°ç²åº¦æ§å¶ãèªååªå |
æ ¸å¿å·¥å ·åº«
| é¡å | å·¥å · | æ¨è¦çç± |
|---|---|---|
| è³æç²å | TanStack Query | èªåå¿«åãéè©¦ãæ¨è§æ´æ° |
| 客æ¶ç«¯çæ | Zustand/Jotai | 極簡 APIã髿è½/ååå |
| è·¯ç±ç®¡ç | React Router v6 / Next.js App Router | æ¨æºæ¹æ¡ãåå¥å®å ¨ |
| 表å®ç®¡ç | React Hook Form | æè½åªç°ãé©èæ´å |
| UI å¢å¼· | @tanstack/react-virtual | èæ¬æ»¾åãé·å表åªå |
ð¯ æä½³å¯¦è¸æ ¸å¿åå
1. æè½åªå
- 使ç¨
Intersection Observeræ¿ä»£scrolläºä»¶ - 實ä½
AbortControlleré¿å ç¡æè«æ± - 使ç¨
debounceæ¸å° API å¼å«é »ç
2. è³æä¸è´æ§
- 妥åèçç«¶æ æ¢ä»¶
- æ£ç¢ºç®¡çå¿«å失æ
- CRUD æä½å¾ç¢ºä¿ UI 忥
3. 使ç¨è é«é©
- æä¾é©ç¶ç Loading çæ
- ä¿åæ²åä½ç½®
- 坦使¨è§æ´æ°
- æ¸ æ°çé¯èª¤èçèåé¥
4. å¯ç¶è·æ§
- å° URL ä½çº Source of Truth
- å°è£å¯éç¨çèªå®ç¾© Hook
- éµå¾ªæ¸ æ°çå½åè¦ç¯
- æä¾å®æ´çé¯èª¤éçèç
ð 詳細æå
ç«¶æ æ¢ä»¶èç (race-condition.md)
å¸ç¿å¦ä½èçéåæ¥è«æ±çç«¶æ æ¢ä»¶ï¼å æ¬ï¼
- AbortController ä½¿ç¨æ¹æ³
- Boolean Flag 模å¼
- TanStack Query/SWR èªåèç
æå°ç³»çµ±å¯¦ä½ (search-system.md)
建ç«é«æè½æå°ç³»çµ±ï¼
- èªå宿åè½
- è¼¸å ¥æ³åªåï¼ä¸æ¥éæï¼
- 鲿èé²è·æ©å¶
- URL çæ åæ¥
åé ç³»çµ±å¯¦ä½ (pagination-system.md)
實ä½å°æ¥ç´åé 系統ï¼
- å¿«åçç¥è失æ
- ç°å¸¸èçèéçæ æ³
- èæ¬æ»¾ååªå
- çæ ç®¡çæ´å
åæ å è¼èç¡éæ²å (infinite-scroll.md)
æµæ¢çç¡éæ²åé«é©ï¼
- Intersection Observer 實ä½
- æ²åä½ç½®ä¿å
- è³æå»éèä½µç¼é²è·
Intersection Observer API (intersection-observer.md)
ææ¡é«æè½ç£æ¸¬æè¡ï¼
- åçæ¶å è¼
- åç«è§¸ç¼
- 廣åæå 追蹤
- React Hook å°è£
å表 CRUD 忥 (crud-sync.md)
確ä¿è³ææä½çä¸è´æ§ï¼
- 忥çç¥é¸æ
- æ¨è§æ´æ°å¯¦ä½
- çæ ç®¡ç庫æ´å
- éç¼é²è·æ©å¶
çæ ç®¡ç鏿 (state-management.md)
鏿æé©åççæ ç®¡çæ¹æ¡ï¼
- çæ å顿¡æ¶
- æ±ºçæ¨¹æå°
- å·¥å ·å°æ¯åæ
- é·ç§»è·¯å¾å»ºè°
Refresh Token èç«¶æ æ¢ä»¶èç (refresh-token-race-condition.md)
èçè¤éé©èå ´æ¯çæä½³å¯¦è¸ï¼
- Refresh Token ç¡æå·æ°æ©å¶
- Axios ææªå¨èè«æ±ä½å
- TanStack Query/SWR æ´åæ¹æ¡
- ç«¶æ æ¢ä»¶èªåèç
- å¯¦åæ å¢åæèè§£æ±ºæ¹æ¡
ð ï¸ éç¼å·¥å ·æ¨è¦
DevTools å¿ å
| å·¥å · | ç¨é | å®è£æ¹å¼ |
|---|---|---|
| React DevTools | çµä»¶æª¢æ¥ | çè¦½å¨æ´å |
| TanStack Query DevTools | æ¥è©¢èª¿è©¦ | npm install @tanstack/react-query-devtools |
| Redux DevTools | çæ èª¿è©¦ | çè¦½å¨æ´å
+ @reduxjs/toolkit |
| Zustand DevTools | çæ èª¿è©¦ | ä½¿ç¨ devtools ä¸éä»¶ |
| Jotai DevTools | çæ èª¿è©¦ | ä½¿ç¨ jotai-devtools æ´å
|
æè½ç£æ§
| å·¥å · | ç£æ§ç®æ¨ |
|---|---|
| React Profiler | çµä»¶æ¸²ææè½ |
| Lighthouse | æ´é«ç¶²é æè½ |
| Web Vitals | æ ¸å¿ç¶²é ææ¨ |
ð çæ¬è³è¨
çæ¬ï¼2.0 (éæ§çæ¬)
æå¾æ´æ°ï¼2025-01-28
é©ç¨ç¯åï¼React 18+, Next.js 13+ (App Router)
ð æ´æ°æ¥èª
v2.2 (2025-01-29)
- ð¯ æ°å¢ Refresh Token èç«¶æ æ¢ä»¶èçå°éæå
- ð 宿´æ´ç Axios ææªå¨å¯¦ä½æ¹æ¡
- â¡ è£å TanStack Query/SWR æ´åçç¥
- ð¡ï¸ å¢å å¯¦åæ å¢åæèè§£æ±ºæ¹æ¡
- ð æ´æ°æè¡æåæ¸ å®ï¼æ°å¢é©èç¸éå §å®¹
v2.1 (2025-01-28)
- ⨠æ°å¢ Jotai çæ ç®¡çæ¯æ´èè©³ç´°å°æ¯
- ð æ´æ°çæ 管ççµåæ¨è¦è¡¨æ ¼
- ð ï¸ å¢å Jotai ç¯ä¾ç¨å¼ç¢¼èæä½³å¯¦è¸
- ð§ è£å Jotai DevTools å·¥å ·èªªæ
v2.0 (2025-01-28)
- ð éæ°æåå®ä¸æä»¶çºå¤åå°éæå
- ⨠æ°å¢ Intersection Observer å°éæä»¶
- ð åªåçæ ç®¡çæ±ºçæ¡æ¶
- ð ï¸ æ´æ°ææç¯ä¾ç¨å¼ç¢¼
- ð å¢å è©³ç´°çæª¢æ¥æ¸ å®
v1.0 (åå§çæ¬)
- ð 建ç«å®æ´ç React/Next.js éç¼æå
- ð æ¶µèç«¶æ æ¢ä»¶ãæå°ãåé ãCRUD çæ ¸å¿åè½
ð¤ è²¢ç»æå
è¥è¦æ´æ°ææ°å¢å §å®¹ï¼è«ï¼
- 確å®ä¿®æ¹çå°éæä»¶
- ä¿æç¨å¼ç¢¼ç¯ä¾çä¸è´æ§
- æ´æ°å°æçæª¢æ¥æ¸ å®
- 確ä¿çæ¬è³è¨åæ¥æ´æ°
ð ç¸éé£çµ
- React 宿¹ææª
- Next.js 宿¹ææª
- TanStack Query ææª
- Zustand ææª
- Jotai ææª
- Intersection Observer API
âï¸ å¯«ä½é¢¨æ ¼æåï¼ç¹é«ä¸æï¼
æ¬å°æ¡ç寫ä½é¢¨æ ¼æåè«åè README.md çã寫ä½é¢¨æ ¼æåï¼ç¹é«ä¸æï¼ãç« ç¯ï¼è©²ç« ç¯å
å«ç¨è©çµ±ä¸ãUI ææ¡è¦åãæ¨é»èä¸è±æ··å¯«çç¥ï¼ä»¥åæä»¶è®æ´æµç¨çå
§å®¹ã
æ¬æåæçºæ´æ°ä¸ï¼æ¡è¿æä¾åé¥è建è°ã