react-component-generator
19
总安装量
14
周安装量
#18645
全站排名
安装命令
npx skills add https://github.com/einverne/dotfiles --skill react-component-generator
Agent 安装分布
opencode
9
claude-code
9
codex
9
gemini-cli
7
antigravity
6
windsurf
6
Skill 文档
React ç»ä»¶çæå¨
ç»ä»¶è§è
项ç®ä½¿ç¨ä»¥ä¸çº¦å®ï¼
- TypeScript + React
- 彿°å¼ç»ä»¶ + Hooks
- CSS Modules æ ·å¼
- 宿´ç JSDoc 注é
- é å¥çæµè¯æä»¶
çææµç¨
-
确认ç»ä»¶ä¿¡æ¯
- ç»ä»¶åç§°ï¼PascalCaseï¼
- ç»ä»¶ç±»åï¼åºç¡ç»ä»¶ã容å¨ç»ä»¶ã页é¢ç»ä»¶ï¼
- æé props
-
å建æä»¶ç»æ
src/components/{ComponentName}/ âââ index.tsx âââ {ComponentName}.module.css âââ {ComponentName}.test.tsx -
çæç»ä»¶æä»¶
index.tsx 模æ¿ï¼
import React from 'react';
import styles from './{ComponentName}.module.css';
interface {ComponentName}Props {
// å®ä¹ props ç±»å
}
/**
* {ç»ä»¶æè¿°}
* @param props - ç»ä»¶å±æ§
*/
export const {ComponentName}: React.FC<{ComponentName}Props> = (props) => {
return (
<div className={styles.container}>
{/* ç»ä»¶å
容 */}
</div>
);
};
- çææ ·å¼æä»¶
{ComponentName}.module.css 模æ¿ï¼
.container {
/* ç»ä»¶æ ·å¼ */
}
- çææµè¯æä»¶
{ComponentName}.test.tsx 模æ¿ï¼
import { render, screen } from '@testing-library/react';
import { {ComponentName} } from './index';
describe('{ComponentName}', () => {
it('renders correctly', () => {
render(<{ComponentName} />);
// æ·»å æè¨
});
});
è´¨éæ£æ¥
çæåèªå¨è¿è¡ï¼
- TypeScript ç±»åæ£æ¥ï¼
npm run type-check - ESLint æ£æ¥ï¼
npm run lint - æµè¯ï¼
npm test -- {ComponentName}
妿éè¯¯ï¼æ¾ç¤ºé误信æ¯å¹¶æä¾ä¿®å¤å»ºè®®ã