当前位置: 首页 > news >正文

长春网站设计公司百度查询

长春网站设计公司,百度查询,如皋网页设计,品牌建设不断深化目录 一、React 简介 1.什么是 React 2.React 核心特性 二、环境搭建 1. 创建 React 项目 2.关键配置 三、核心概念 1. JSX 语法 表达式嵌入 样式处理 2. 组件 (Component) 3. 状态 (State) 与属性 (Props) 4. 事件处理 合成事件(SyntheticEvent) 5. …

目录

一、React 简介

1.什么是 React

 2.React 核心特性

二、环境搭建

1. 创建 React 项目

2.关键配置

三、核心概念

1. JSX 语法

表达式嵌入

样式处理

2. 组件 (Component)

3. 状态 (State) 与属性 (Props)

4. 事件处理

合成事件(SyntheticEvent)

5. 条件渲染

三元表达式

短路运算

6. 列表渲染

四、Hooks(函数组件的核心)

1. useState

基础用法

复杂对象管理

2. useEffect

3. 其他常用 Hooks

五、组件通信

1. 父传子:通过 Props

2. 子传父:通过回调函数

六、路由管理(使用 React Router)

1. 安装

2. 基础配置

七、状态管理(使用 Context API)

1. 创建 Context

八、进阶学习方向

九、官方资源


本文案例代码是TypeScript+React

一、React 简介

1.什么是 React

     React 是一个用于构建用户界面的 JavaScript 库(专注于视图层),由 Facebook 开发。

         声明式UI、组件化开发、虚拟DOM原理。

         React vs Vue vs Angular:生态与设计哲学对比。

 2.React 核心特性

   单向数据流、JSX、函数式编程思想。 跨平台能力(React Native、React VR)。

        组件化:将 UI 拆分为独立可复用的组件。

        虚拟 DOM:高效更新界面,优化性能。

        声明式编程:通过描述 UI 的最终状态,而非具体操作步骤。

二、环境搭建

1. 创建 React 项目

Create React App(官方脚手架)

npx create-react-app my-app --template typescript

  Vite(更轻量快速):

npm create vite@latest my-app -- --template react-ts

使用官方脚手架工具 create-react-app 快速初始化项目:

npx create-react-app my-app
cd my-app
npm start
项目结构解析 
my-app/src/components/  # 组件目录App.tsx      # 根组件index.tsx    # 入口文件public/        # 静态资源package.json
2.关键配置

路径别名tsconfig.json):

{"compilerOptions": {"baseUrl": "./src","paths": {"@/*": ["./*"]}}
}

三、核心概念

1. JSX 语法

JSX 是 JavaScript 的语法扩展,JSX本质:React.createElement的语法糖

表达式嵌入
const name = 'Alice';
const element = <h1>Hello, React!</h1>;
样式处理
<div style={{ color: 'red', fontSize: 20 }}>Styled Text</div>
2. 组件 (Component)

函数组件(推荐):

interface Props {title: string;
}
const Header: React.FC<Props> = ({ title }) => <h1>{title}</h1>;

类组件

class Counter extends React.Component<{}, { count: number }> {state = { count: 0 };render() { return <div>{this.state.count}</div>; }
}
3. 状态 (State) 与属性 (Props)

Props:父组件传递给子组件的数据(只读)。

// 父组件
<Child title="Hello" />
// 子组件
interface ChildProps { title: string; }
const Child: React.FC<ChildProps> = ({ title }) => <div>{title}</div>;

State:组件内部管理的动态数据(通过 useState 或 setState 更新)。

const [count, setCount] = useState(0);
4. 事件处理
<button onClick={() => alert('Clicked!')}>Click Me</button>
合成事件(SyntheticEvent)
const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {e.preventDefault();console.log('Clicked');
};
<button onClick={handleClick}>Click</button>
5. 条件渲染
三元表达式
{ isLoggedIn ? <UserPanel /> : <LoginButton /> }
短路运算
{ isLoading && <Spinner /> }

6. 列表渲染

key的重要性(避免重复渲染问题)

使用 map() 和 key 属性:

const items = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }];
return (<ul>{items.map(item => <li key={item.id}>{item.name}</li>)}</ul>
);

四、Hooks(函数组件的核心)

1. useState
基础用法
const [count, setCount] = useState<number>(0);
setCount(prev => prev + 1);
复杂对象管理
interface User { name: string; age: number; }
const [user, setUser] = useState<User>({ name: 'Alice', age: 30 });
2. useEffect

副作用处理(数据请求,事件监听);

useEffect(() => {const timer = setInterval(() => console.log('Tick'), 1000);return () => clearInterval(timer); // 清理函数
}, []); // 空依赖数组表示仅执行一次

依赖数据控制更新:

useEffect(() => {// 组件挂载或更新时执行fetchData(userId);return () => {// 组件卸载时清理(如取消订阅)};
}, [userId]); // 依赖数组控制执行时机
3. 其他常用 Hooks

useContext(跨组件通信):访问react上下文

const ThemeContext = createContext('light');
const theme = useContext(ThemeContext);

useRef:获取DOM引用或保存可变值。

const inputRef = useRef<HTMLInputElement>(null);
inputRef.current?.focus();

useMemo/useCallback:性能优化

const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
const memoizedCallback = useCallback(() => doSomething(a, b), [a, b]);

useReducer:复杂状态管理。

五、组件通信

1. 父传子:通过 Props

传递复杂对象

interface ParentProps { user: { id: number; name: string }; }
const Parent = () => <Child user={{ id: 1, name: 'Alice' }} />;
2. 子传父:通过回调函数

定义回调

const Child = ({ onSubmit }: { onSubmit: (data: string) => void }) => {return <button onClick={() => onSubmit('Data')}>Submit</button>;
};

六、路由管理(使用 React Router)

1. 安装
npm install react-router-dom
2. 基础配置
// App.tsx
import { BrowserRouter, Routes, Route } from 'react-router-dom';
const App = () => (<BrowserRouter><Routes><Route path="/" element={<Home />} /><Route path="/user/:id" element={<UserProfile />} /></Routes></BrowserRouter>
);

七、状态管理(使用 Context API)

1. 创建 Context
// ThemeContext.tsx
import { createContext, useContext } from 'react';
interface ThemeContextType { theme: string; toggleTheme: () => void; }
const ThemeContext = createContext<ThemeContextType | undefined>(undefined);// Provider 组件
export const ThemeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {const [theme, setTheme] = useState('light');const toggleTheme = () => setTheme(prev => (prev === 'light' ? 'dark' : 'light'));return (<ThemeContext.Provider value={{ theme, toggleTheme }}>{children}</ThemeContext.Provider>);
};// 自定义 Hook
export const useTheme = () => {const context = useContext(ThemeContext);if (!context) throw new Error('useTheme must be used within ThemeProvider');return context;
};

八、进阶学习方向

  1. 性能优化React.memouseMemouseCallback、代码分割(lazy + Suspense)。

  2. 状态管理库进阶:Redux, Toolkit、Recoil、Zustand

  3. 服务端渲染(SSR):Next.js框架集成

  4. UI 库:Material-UI, Ant Design

  5. 测试:Jest + React Testing Library、Cypress E2E 测试

九、官方资源

  1. 文档

  • React 官方文档(最新特性与最佳实践)。
  • React 中文文档

     2.社区

  • React GitHub、Reactiflux Discord。

     3.工具链

  • Create React App

码字不易,欢迎各位大佬点赞

http://www.yidumall.com/news/3363.html

相关文章:

  • 做期货资讯网站腾讯营销平台
  • 建手机网站seo刷关键词排名软件
  • 建立网站的过程百度指数怎么查
  • 深圳做网站推荐哪家公司好app开发多少钱
  • c2c网站制作品牌营销案例分析
  • 网站设计建设合同百度实时热搜榜
  • 网站前端是做啥的搜索引擎快速排名推广
  • 怎么做外贸网站推广制作网页多少钱
  • 巴中建设厅网站电话百度公司推广电话
  • 粉丝社区网站怎么做深圳抖音推广公司
  • 深圳深圳网站开发链接交换平台
  • 汽车网站开发背景广告推广的软件
  • qq炫舞做字网站淘宝联盟怎么推广
  • html5电影网站如何做长沙网动网络科技有限公司
  • 阿里云可以做网站百度快照网站
  • 自己怎么建设手机网站首页搜索引擎优化的内部优化
  • 联合建设官方网站百度推广代理
  • 磁力搜索网站怎么做的如何提升关键词的自然排名
  • 企业用什么做网站象山关键词seo排名
  • 计算机专业做网站运营网络营销个人感悟小结
  • 网站制作潍坊区域网络营销课程心得体会
  • 长春手机网站360站长平台
  • 上海网站开发哪里好薇长沙网
  • 软件开发包含网站开发吗免费推广平台有哪些
  • 在网站上怎么做招聘信息做网络推广需要多少钱
  • app调用网站百度一下百度主页度
  • pk10网站怎么做百度网页版登录入口官网
  • 免费ai设计logo网站班级优化大师怎么加入班级
  • 买了个域名 如何自己做网站1个百度指数代表多少搜索
  • 武汉光谷网站建设chatgpt 网址