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

浙江省建设信息网官网seo怎么赚钱

浙江省建设信息网官网,seo怎么赚钱,河北网页设计,软件开发工具的发展趋势是1.实现功能(ts) 0.基础属性使用 1.组件直接的通信 2.useState 动态修改值 3.循环遍历功能 4.实现类型vue 的 watch ,filter,computed 属性功能 5.实现类似vue2的生命周期 5.类型vue v-if功能的实现 2.文件结构图 3.具体代码 in…

1.实现功能(ts)

0.基础属性使用
1.组件直接的通信
2.useState 动态修改值
3.循环遍历功能
4.实现类型vue 的 watch ,filter,computed 属性功能
5.实现类似vue2的生命周期
5.类型vue v-if功能的实现

2.文件结构图

在这里插入图片描述

3.具体代码

interface.ts
import "./index.less";
import { message } from "antd";
import { useState, useEffect, useRef } from "react";
import { UserInfo } from "./interface";
import UserAge from "./components/UserAge"const UseComponent = () => {let [user, setUser] = useState<UserInfo>({ name: "张三", age: 5 });const [messageApi, contextHolder] = message.useMessage();let [show, setShow] = useState<boolean>(false);// 循环遍历let [userList] = useState<UserInfo[]>([{ id: 1, name: "张三", age: 5 },{ id: 2, name: "李四", age: 10 },{ id: 3, name: "王五", age: 15 }]);const updateShow = () => {setShow(!show)}const updateAge = (updateAge: number, type: string = "add") => {let ageTemp: number = user.age;if (type === "add") {ageTemp = ageTemp + updateAge;} else if (type === "reduce") {ageTemp = ageTemp - updateAge;}if (ageTemp < 0) {messageApi.error("年龄不能小于0");ageTemp = 0;} else if (ageTemp > 100) {messageApi.error("年龄不能大于100");ageTemp = 100;}setUser(user => ({...user,age: ageTemp}));};const updateChild = (age: number) => {updateAge(age)}// 类型vue 的生命周期// Vue2 生命周期      | React 实现//---------------------------------------// beforeCreate     => 无直接等价(可用 useRef 模拟)// created          => useEffect 空依赖// beforeMount      => useLayoutEffect 空依赖// mounted          => useEffect 空依赖// beforeUpdate     => useLayoutEffect 无依赖// updated          => useEffect 无依赖// beforeDestroy    => useEffect 返回清理函数// destroyed        => useEffect 返回清理函数const UseComponent = () => {// beforeCreate 阶段(组件初始化前)const initializedRef = useRef<boolean>(false);if (!initializedRef.current) {console.log("beforeCreate - 类似 Vue 的 beforeCreate");initializedRef.current = true;}// created 阶段(组件初始化)useEffect(() => {console.log("created - 类似 Vue 的 created");}, []);// mounted 阶段(DOM 挂载完成)useEffect(() => {console.log("mounted - 类似 Vue 的 mounted");}, []);// updated 阶段(数据更新)useEffect(() => {console.log("updated - 类似 Vue 的 updated");});// beforeDestroy 阶段(组件卸载前)useEffect(() => {return () => {console.log("beforeDestroy - 类似 Vue 的 beforeDestroy");};}, []);}UseComponent()return (<>{contextHolder}<div className="card content-box"><div>姓名:{user.name}</div><div>年龄:{user.age}</div><div className="flex-btn"><button className="add-btn" onClick={() => updateAge(1)}>年龄+1</button><button className="add-btn" onClick={() => updateAge(1, "reduce")}>年龄-1</button><button className="add-btn" onClick={() => updateShow()}>{!show ? "显示" : '隐藏'}</button></div><div className="child"><div>我是子组件</div>{show && <UserAge user={user} updateChild={updateChild} />}</div><div>{userList.map((item, index) => {return (<div key={index}><div>姓名:{item.name}</div><div>年龄:{item.age}</div><div>------------------</div></div>)})}</div></div></>);
};export default UseComponent;
interface.ts
// 定义属性 ?代表可填可不填
export interface UserInfo {id?: number;name: string;age: number;
}
UserAge.tsx
import React from "react";
import { UserInfo } from "../interface";interface Props {user: UserInfo;updateChild: (num: number) => void;
}const UserAge: React.FC<Props> = (props) => {//获取父组件的参数// 类似 vue 的 watch React.useEffect(() => {console.log("子组件渲染", props.user);}, [props.user]);// 类似 vue 的 computedconst ageStatus: string = React.useMemo(() => {return props.user.age > 20 ? '中年' : '少年'}, [props.user.age]);// 类似vue 的 filter  也可以使用自定义hook的方式实现const ageFilter = (age: number) => {return age + "岁"}// 向父组件传递参数const updateFan = () => {props.updateChild(5);};return (<><div>我是子组件的age: {ageFilter(props.user.age)} {ageStatus}</div><button onClick={updateFan}>子组件控制父组件</button></>);
}export default UserAge;
http://www.dtcms.com/wzjs/421294.html

相关文章:

  • 青岛网站建设全包百度答主中心入口
  • 网站打开时的客户引导页外链怎么做
  • 做系统下载网站建设制作网站要找什么公司
  • 网站建设实训方案seo站长工具查询
  • 怎么自己创建网站免费2022年搜索引擎优化指南
  • wordpress中调整图片尺寸刷seo快速排名
  • 做网站需要审核资质吗seo是指搜索引擎营销
  • 那个网站可以帮助做数学题前端seo搜索引擎优化
  • 企业网站优化费用沈阳seo网站推广
  • 网站副标题中国搜索网站排名
  • 适用于手机的网站怎么建设2023新一轮病毒叫什么名字
  • 如何对网站做优化成人教育培训机构排名
  • 购物网站后台订单处理流程企点客服
  • 阿里云虚拟主机可以做几个网站吗怎么营销一个产品
  • 大良营销网站公司上海百度seo牛巨微
  • 武汉传媒公司百度seo一本通
  • 吉安网站网站seo优化服务
  • 动态网站开发 机械百度地图网页版
  • 江苏易销 网站建设站长工具综合查询2020
  • 网站销户说明推广普通话作文
  • 网站备案 手印随便昆明网络营销公司哪家比较好
  • 专业工厂网站建设朋友圈广告投放
  • 南阳网(网站).湖南网站建设平台
  • 成都公司网站设计套餐二十条疫情优化措施
  • 甘肃省建设工程安质局网站外汇交易平台
  • 一般的信息网站用什么做石家庄seo网站排名
  • 衡水做淘宝网站建设如何制作自己的网页
  • 做视频可以领钱的网站百度关键词点击
  • 网站外链建设的15个小技巧百度一下下载
  • 网站建设关键词新闻发布会新闻通稿