新手入门 React .tsx 项目:从零到实战

🚀 新手入门 React .tsx 项目:从零到实战 💻✨

如果你是 React 新手,刚接触 .tsx 文件,不要担心!跟着这份指南,一步一步来,你很快就能上手了!👇


📚 1. 基础知识准备

在开始 React .tsx 项目之前,先确保你对以下内容有基本了解:

HTML / CSS / JavaScript :网页开发的三大基石。

TypeScript :React .tsx 文件使用 TypeScript,帮助你进行类型检查。

Node.js 和 npm/yarn:包管理工具,帮助你安装依赖。

🛠️ 安装 Node.js 和 npm/yarn

👉 Node.js 官方网站 下载并安装。

👉 验证安装:

bash 复制代码
node -v
npm -v

🛠️ 2. 安装 React 开发环境

React 提供了一个非常方便的脚手架工具:Create React App

安装 React 项目

bash 复制代码
npx create-react-app my-app --template typescript
cd my-app
npm start

📌 说明

  • --template typescript 表示项目将使用 TypeScript。
  • npm start 启动开发服务器,在浏览器中打开 http://localhost:3000

🗂️ 3. 理解 React 项目结构

plaintext 复制代码
my-app/
├── src/                // 主要代码目录
│   ├── App.tsx         // 主组件
│   ├── index.tsx       // 入口文件
│   ├── components/     // 自定义组件
│   ├── styles/         // 样式文件
│   ├── assets/         // 静态资源
│   └── App.css         // 全局样式
├── public/             // 静态资源
├── package.json        // 项目配置文件
└── tsconfig.json       // TypeScript 配置文件

📝 关键文件解析

  • index.tsx:项目的入口文件,挂载根组件。
  • App.tsx:主组件,页面内容从这里开始。
  • package.json:项目依赖和脚本配置。
  • tsconfig.json:TypeScript 配置文件。

🧩 4. 编写第一个组件

src 文件夹中创建一个简单的组件:

👉 新建 src/components/HelloWorld.tsx

tsx 复制代码
import React from 'react';

interface Props {
  name: string;
}

const HelloWorld: React.FC<Props> = ({ name }) => {
  return <h1>Hello, {name}! 👋</h1>;
};

export default HelloWorld;

👉 在 App.tsx 中引入组件

tsx 复制代码
import React from 'react';
import HelloWorld from './components/HelloWorld';

function App() {
  return (
    <div>
      <HelloWorld name="React 新手" />
    </div>
  );
}

export default App;

👉 启动项目

bash 复制代码
npm start

✨ 在浏览器中,你将看到:
Hello, React 新手! 👋


🎨 5. 添加样式

HelloWorld.tsx 中添加样式:

👉 新建 src/components/HelloWorld.module.css

css 复制代码
h1 {
  color: #4caf50;
  font-size: 24px;
  text-align: center;
}

👉 修改 HelloWorld.tsx

tsx 复制代码
import React from 'react';
import styles from './HelloWorld.module.css';

interface Props {
  name: string;
}

const HelloWorld: React.FC<Props> = ({ name }) => {
  return <h1 className={styles.h1}>Hello, {name}! 👋</h1>;
};

export default HelloWorld;

🔄 6. 状态管理(Hooks)

React 使用 Hooks 管理组件状态:

👉 在 App.tsx 中使用状态

tsx 复制代码
import React, { useState } from 'react';

function App() {
  const [count, setCount] = useState(0);

  return (
    <div>
      <h1>计数器:{count}</h1>
      <button onClick={() => setCount(count + 1)}>增加</button>
    </div>
  );
}

export default App;

🧠 解释

  • useState 用于创建和管理组件的状态。
  • 点击按钮,count 状态增加。

🌍 7. 路由管理

安装 React Router

bash 复制代码
npm install react-router-dom

👉 配置路由(App.tsx

tsx 复制代码
import React from 'react';
import { BrowserRouter, Routes, Route } from 'react-router-dom';

function Home() {
  return <h1>首页</h1>;
}

function About() {
  return <h1>关于我们</h1>;
}

function App() {
  return (
    <BrowserRouter>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
      </Routes>
    </BrowserRouter>
  );
}

export default App;

👉 访问页面

  • http://localhost:3000/ → 首页
  • http://localhost:3000/about → 关于我们

📦 8. 打包与部署

打包项目

bash 复制代码
npm run build

部署

build 文件夹内容上传到服务器或部署到 VercelNetlify 等平台。


🎯 9. 进阶学习

状态管理库 :学习 ReduxRecoil

组件库 :使用 Ant DesignMaterial UI 提高开发效率。

性能优化 :学习 React.memouseMemouseCallback


🐾 10. 学习资源

📚 推荐学习资料


🎉 恭喜你!你已经成功入门 React .tsx 项目啦!

🛠️ 接下来,动手开发一个小项目吧,比如待办事项、博客系统或电商页面! 💪😊

相关推荐
nothingbutluck46424 分钟前
2025.4.10 html有序、无序、定义列表、音视频标签
前端·html·音视频
爱上python的猴子1 小时前
chrome中的copy xpath 与copy full xpath的区别
前端·chrome
Lysun0012 小时前
dispaly: inline-flex 和 display: flex 的区别
前端·javascript·css
Moon里2 小时前
【React】什么是 Hook
react.js
山禾女鬼0012 小时前
Vue 3 自定义指令
前端·javascript·vue.js
啊卡无敌2 小时前
Vue 3 reactive 和 ref 区别及 失去响应性问题
前端·javascript·vue.js
北桥苏2 小时前
Spine动画教程:皮肤制作
前端
涵信2 小时前
第九节:React HooksReact 18+新特性-React 19的use钩子如何简化异步操作?
前端·javascript·react.js
Aaaaaaaaaaayou2 小时前
浅玩一下 Mobile Use
前端·llm
这个昵称也不能用吗?2 小时前
react-native搭建开发环境过程记录
前端·react native·cocoapods