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

无锡专业制作网站wordpress 手风琴

无锡专业制作网站,wordpress 手风琴,网站在线留言如何做,怎么样新建一个网站文章目录 1 组件基础2 组件props3 React开发者工具结语 1 组件基础 React中一切都是组件,组件是React的基础。 组件就是一个UI片段拥有独立的逻辑和显示组件可大可小,可嵌套 组件的价值和意义: 组件嵌套来组织UI结构,和HTML一…

文章目录

    • 1 组件基础
    • 2 组件props
    • 3 React开发者工具
    • 结语

1 组件基础

React中一切都是组件,组件是React的基础。

  • 组件就是一个UI片段
  • 拥有独立的逻辑和显示
  • 组件可大可小,可嵌套

组件的价值和意义:

  • 组件嵌套来组织UI结构,和HTML一样。
  • 组件拆分,利于代码维护和多人协作开发。
  • 可封装公共组件(或第三方组件),复用代码,提高开发效率。

示例:创建问卷列表页面

import { useState } from "react";
import type { MouseEvent } from "react";import reactLogo from "./assets/react.svg";
import viteLogo from "/vite.svg";
import "./App.css";function App() {const [count, setCount] = useState(0);const fn = (e: MouseEvent<HTMLButtonElement>, name: string): void => {e.preventDefault(); // 阻止默认行为e.stopPropagation; // 阻止冒泡console.log("clicked");console.log("name: " + name);};const list = [{ name: "张三", age: 18 },{ name: "李四", age: 22 },{ name: "王五", age: 23 },{ name: "六子", age: 54 },];return (<><div><a href="https://vite.dev" target="_blank"><img src={viteLogo} className="logo" alt="Vite logo" /></a><a href="https://react.dev" target="_blank"><img src={reactLogo} className="logo react" alt="React logo" /></a></div><h1 style={{ color: "red", backgroundColor: "white" }}>Vite + React</h1><div><label htmlFor="name">姓名:</label><input id="name" type="text" /></div><div><buttontype="button"onClick={(e) => {fn(e, "button");}}>点击</button></div><ul>{list.map((user) => {const { name, age } = user;return <li key={name}>{age}</li>;})}</ul><div className="card"><button onClick={() => setCount((count) => count + 1)}>count is {count}</button><p>Edit <code>src/App.tsx</code> and save to test HMR</p></div><p className="read-the-docs">Click on the Vite and React logos to learn more</p></>);
}export default App;

拆分列表为列表组件和问卷卡片组件,列表组件如下:

import React, { FC } from "react";import QuestionCard from "./QuestionCard";
const List1: FC = () => {//列表页//问卷列表数据const questionList = [{ id: "q1", title: "问卷1", isPublished: false },{ id: "q2", title: "问卷2", isPublished: false },{ id: "q3", title: "问卷3", isPublished: true },{ id: "q4", title: "问卷4", isPublished: false },{ id: "q5", title: "问卷5", isPublished: true },];return (<div><h1>问卷列表页</h1><div>{questionList.map((q) => {const { id, title, isPublished } = q;return (<QuestionCardkey={id}id={id}title={title}isPublished={isPublished}/>);})}</div></div>);
};export default List1;

问卷卡片组件如下:

import React, { FC } from "react";import "./QuestionCard.css";type PropsType = {id: string;title: string;isPublished: boolean;
};const QuestionCard: FC<PropsType> = (props) => {const { id, title, isPublished } = props;//编辑问卷function edit(id: string) {console.log("id:", id);}return (<div key={id} className="list-item"><strong>{title}</strong>&nbsp;{/* 条件判断 */}{isPublished ? (<span style={{ color: "green" }}>已发布</span>) : (<span>未发布 </span>)}&nbsp;<button onClick={() => edit(id)}>编辑问卷</button></div>);
};export default QuestionCard;

2 组件props

在 React 中,Props(属性)是用于将数据从父组件传递到子组件的机制,Props 是只读的,子组件不能直接修改它们,而是应该由父组件来管理和更新。

state 和 props 主要的区别在于 props 是不可变的,而 state 可以根据与用户交互来改变。这就是为什么有些容器组件需要定义 state 来更新和修改数据。 而子组件只能通过 props 来传递数据。

详细可以参考下面链接2,上面我们函数组件通过参数传递方式传递(按需传递)props。

props传递可以通过…也可以单个props属性传递,建议**“按需传递”**。

3 React开发者工具

日常工作中,代码开发占很小一部分,其中调试是必不可少的。

为了方便调试开发React,这么我们以chome为例。

安装工具:

  • chome应用商店或者第三方插件网站(参考下面链接3)

在这里插入图片描述

2个标签页:

  • components:组件,可以搜索,查看指定组件的props,source等
  • profiler:分析器

结语

❓QQ:806797785

⭐️仓库地址:https://gitee.com/gaogzhen

⭐️仓库地址:https://github.com/gaogzhen

[1]传递 Props[CP/OL].

[2]React Props[CP/OL].

[3]整理了几个Chrome插件的国内下载网站[CP/OL].

http://www.dtcms.com/a/456882.html

相关文章:

  • 通过camel AI创建多agent进行写作
  • qt常用控件
  • 离散化模板
  • linphone + minisipserver 下载和配置
  • 网站建设登录界面代码wordpress 按钮美化
  • 吴恩达机器学习课程(PyTorch 适配)学习笔记:3.4 强化学习
  • jEasyUI 自定义窗口工具栏
  • Spring Boot 和 MyBatis 环境下实现动态数据源切换
  • 2025 年度国产大模型「开源 vs. 闭源」深度评测与实战指南
  • 网页设计与网站建设电话香洲网站建设
  • 移动论坛网站模板免费下载revolution slider wordpress
  • TPM(Total Productive Maintenance)现场管理
  • 从 0 到 1 搭建 Python 语言 Web UI自动化测试学习系列 11 自动化测试--框架设计--基础知识 7--各种弹窗处理
  • ubuntu terminal 设置代理
  • 《传感器与检测技术》第 2 章 电阻式传感器原理与应用
  • Linux中input子系统
  • 探索Linux:开源世界的钥匙
  • GitHub 热榜项目 - 日榜(2025-10-08)
  • 手写Function.prototype.bind:从原理到完整实现
  • 百度做网站的公司施工企业的施工现场消防安全责任人应是
  • 做电商网站报价网站开发工程师需要会写什么
  • (3)容器布局进阶:Spacer、Divider、Frame 与 Alignment
  • 墨西哥证券交易所(BMV)等多个交易所股票数据API对接文档
  • 【数据分析与可视化】2025年一季度金融业主要行业资产、负债、权益结构与增速对比
  • app网站建设阿里巴巴卓拙科技做网站吗
  • 乌苏市城乡建设局网站北京朝阳区邮政编码
  • 个人用云计算学习笔记 --18(NFS 服务器、iSCSI 服务器)
  • 智能制造——解读MES在各行业中的需求与解决方案【附全文阅读】
  • 老题新解|棋盘覆盖
  • 网站可不可以做自己的专利东莞沙田网站建设