在 React 项目中集成 TypeScript(TS)通常有以下几种方式,取决于你是新项目还是已有项目。
npx create-react-app my-app --template typescript
生成的项目结构里会有:
tsconfig.json.tsx 文件(React + TS)npm create vite@latest my-app -- --template react-ts
npm install --save-dev typescript @types/react @types/react-dom
在项目根目录创建:
{
"compilerOptions": {
"target": "ESNext",
"lib": ["DOM", "DOM.Iterable", "ESNext"],
"jsx": "react-jsx",
"module": "ESNext",
"moduleResolution": "node",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true
},
"include": ["src"]
}
.js → .ts.jsx → .tsxts-loader 或 babel-loadertype Props = {
name: string;
age?: number;
};
const User: React.FC<Props> = ({ name, age }) => {
return <div>{name} {age}</div>;
};
const [count, setCount] = useState<number>(0);
const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {
e.preventDefault();
};
✅ 一定要用 React.FC 吗?
不是,普通函数 + 类型更灵活:
function User({ name }: Props) {
return <div>{name}</div>;
}
✅ strict 模式太严格?
可在 tsconfig.json 中关闭部分规则。
如果你愿意,可以告诉我:
我可以给你更具体的配置方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。