在 React 中,创建和嵌套组件、添加标签和样式、显示数据、渲染条件和列表、对事件做出响应并更新界面以及在组件间共享数据是常见的任务

news/2024/12/16 5:02:57/

文章目录

      • 1. 创建和嵌套组件
        • 创建组件
        • 嵌套组件
      • 2. 添加标签和样式
        • 添加标签
        • 添加样式
      • 3. 显示数据
        • 显示静态数据
        • 显示动态数据
      • 4. 渲染条件和列表
        • 条件渲染
        • 列表渲染
      • 5. 对事件做出响应并更新界面
        • 处理事件
      • 6. 在组件间共享数据
        • 使用 Context API

react
如何创建和嵌套组件
如何添加标签和样式
如何显示数据
如何渲染条件和列表
如何对事件做出响应并更新界面
如何在组件间共享数据

在 React 中,创建和嵌套组件、添加标签和样式、显示数据、渲染条件和列表、对事件做出响应并更新界面以及在组件间共享数据是常见的任务。以下是每个步骤的详细说明:

1. 创建和嵌套组件

创建组件

你可以使用函数组件或类组件来创建组件。函数组件更常用,因为它们更简洁。

// Function component
function MyComponent() {return <div>Hello, World!</div>;
}// Class component
class MyClassComponent extends React.Component {render() {return <div>Hello, World!</div>;}
}
嵌套组件

你可以通过在 JSX 中嵌套组件来实现这一点。

function ParentComponent() {return (<div><h1>Parent Component</h1><ChildComponent /></div>);
}function ChildComponent() {return <div>I am a child component</div>;
}

2. 添加标签和样式

添加标签

直接在 JSX 中使用 HTML 标签。

function MyComponent() {return (<div><h1>Title</h1><p>This is a paragraph.</p></div>);
}
添加样式

可以使用内联样式或者 CSS 类。

// Inline styles
function MyComponent() {const style = { color: 'red', fontSize: '20px' };return <div style={style}>Styled Text</div>;
}// CSS classes
import './MyComponent.css'; // Assuming you have a CSS file named MyComponent.cssfunction MyComponent() {return <div className="my-component">Styled Text</div>;
}

3. 显示数据

显示静态数据

直接在 JSX 中插入数据。

const name = "John";
function MyComponent() {return <div>Hello, {name}!</div>;
}
显示动态数据

通过状态管理(如 useState)来显示动态数据。

import React, { useState } from 'react';function MyComponent() {const [count, setCount] = useState(0);return (<div><p>Count: {count}</p><button onClick={() => setCount(count + 1)}>Increment</button></div>);
}

4. 渲染条件和列表

条件渲染

使用三元运算符或逻辑运算符。

function MyComponent({ isLoggedIn }) {return (<div>{isLoggedIn ? <p>Welcome back!</p> : <p>Please log in.</p>}</div>);
}
列表渲染

使用 map 方法来渲染数组。

const items = ['Apple', 'Banana', 'Cherry'];function MyComponent() {return (<ul>{items.map((item, index) => (<li key={index}>{item}</li>))}</ul>);
}

5. 对事件做出响应并更新界面

处理事件

使用事件处理器函数。

function MyComponent() {const handleClick = () => {alert('Button clicked!');};return <button onClick={handleClick}>Click me</button>;
}

6. 在组件间共享数据

使用 Context API

Context API 允许你在组件树中传递数据而不必手动地通过每一个层级传递 props。

import React, { createContext, useContext, useState } from 'react';const MyContext = createContext();function MyProvider({ children }) {const [state, setState] = useState('Hello, World!');return (<MyContext.Provider value={{ state, setState }}>{children}</MyContext.Provider>);
}function ChildComponent() {const { state, setState } = useContext(MyContext);return (<div><p>{state}</p><button onClick={() => setState('Updated State')}>Update State</button></div>);
}function App() {return (<MyProvider><ChildComponent /></MyProvider>);
}

这些是 React 开发中一些基本的操作和概念。通过掌握这些技巧,你可以构建出功能丰富且高效的 React 应用。


http://www.ppmy.cn/news/1555501.html

相关文章

【LC】231. 2 的幂

题目描述: 给你一个整数 n&#xff0c;请你判断该整数是否是 2 的幂次方。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 如果存在一个整数 x 使得 n 2x &#xff0c;则认为 n 是 2 的幂次方。 示例 1&#xff1a; 输入&#xff1a;n 1 输出&a…

从2D到3D:解锁视频中的隐形魔法世界

点击访问 chatTools 免费体验GPT最新模型&#xff0c;包括o1推理模型、GPT4o 和Claude等模型&#xff01; ## 技术革命&#xff1a;普通视频中的惊人秘密 在数字技术日新月异的今天&#xff0c;3D建模和虚拟现实领域一直存在着巨大的挑战。传统的3D数据获取方式不仅耗时耗力&a…

bug之浮点数精度求和计算

bug描述&#xff1a;电商项目多件商品进行结算时&#xff0c;总金额出现微小偏差&#xff1b;如0.10.20.3吗&#xff1f;还有可能展示成0.30000000000000004&#xff1b;bug原因&#xff1a;由于计算过程中使用浮点数运算&#xff0c;计算机只识别二进制&#xff0c;所以先把0.…

智能引导小车充电系统设计(论文+源码)

1总体方案设计 在16*16点阵LED字符显示器的设计中&#xff0c;系统总体框架如图2.4所示&#xff0c;包括单片机主控模复位电路模块、晶振电路模块、按键电路模块、LED点阵驱动电路模块&#xff0c;蓝牙模块等构成。系统功能实现主要是利用系统在软件程序编写过程中&#xff0c…

UE4_贴花_贴花基础知识一

贴花可以将材料和各种材料元素投影到表面上。您可以使用它们来添加独特的效果。贴花 是一种可以投射到网格体&#xff08;包括静态网格体和骨骼网格体&#xff09;上的材质。无论这些网格体的移动性&#xff08;Mobility&#xff09;是静态&#xff08;Static&#xff09;还是可…

数据结构 (37)外排序的基本方法

前言 外排序&#xff08;External Sorting&#xff09;是指处理那些无法完全加载到内存中的数据集时所使用的排序方法。由于数据量巨大&#xff0c;无法一次性全部放入内存&#xff0c;因此需要使用外部存储设备&#xff08;如磁盘&#xff09;来辅助排序过程。外排序的基本方法…

软包拆垛自动化:深度视觉与智能算法如何重塑行业格局?

在现代工业生产和物流场景中&#xff0c;自动化拆垛已成为提升效率和降低人工操作风险的关键环节。特别是在涉及软包、纸箱、麻包袋等不规则物体的行业&#xff0c;如塑胶粒子、化肥、食品加工等。 软包拆垛的行业挑战 软包、纸箱等不规则物体在堆垛时由于形状不规则、材质多…

UE4_贴花_贴花基础知识二

五、多表面投射 在本示例中&#xff0c;你将了解贴花如何在多个表面上进行投射。请注意&#xff0c;如果表面朝向与投射方向较为平行&#xff0c;贴花投射时必然会产生一些拉伸。另外&#xff0c;请记住&#xff0c;贴花可以在包括骨骼网格体在内的静态和动态网格体上进行投射。…