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

ps设计网站步骤舆情报告

ps设计网站步骤,舆情报告,长沙微网站建设,小程序定制开发多少钱一年TypeScript 为 React 开发带来了强大的类型安全保障#xff0c;这里解析常见的一些TS写法#xff1a; 一、组件基础类型 1. 函数组件定义 // 显式声明 Props 类型并标注返回值 interface WelcomeProps {name: string;age?: number; // 可选属性 }const Welcome: React.FC…TypeScript 为 React 开发带来了强大的类型安全保障这里解析常见的一些TS写法 一、组件基础类型 1. 函数组件定义 // 显式声明 Props 类型并标注返回值 interface WelcomeProps {name: string;age?: number; // 可选属性 }const Welcome: React.FCWelcomeProps ({ name, age 18 }) (divHello {name}, 年龄 {age}/div );// React 18 需要显式声明 children如果用到 interface CardProps {children: React.ReactNode; }const Card: React.FCCardProps ({ children }) (div classNamecard{children}/div )2. 类组件写法 type CounterState { count: number };class Counter extends React.Component{}, CounterState {state: CounterState { count: 0 };handleClick () {this.setState(prev ({ count: prev.count 1 }));};render() {return button onClick{this.handleClick}点击次数{this.state.count}/button;} }二、Props 高级用法 1. 联合类型与类型守卫 type User { id: number;type: admin | user;email?: string;accessLevel?: number; };const UserProfile ({ user }: { user: User }) {if (user.type admin) {return div管理员权限{user.accessLevel}/div;}return div用户邮箱{user.email}/div; };2. 默认值与类型推断 interface ButtonProps {type?: primary | dashed; // 可选类型自动包含 undefinedsize?: large | medium; }const MyButton ({ type primary, size medium }: ButtonProps) (button className{${type} ${size}}按钮/button );三、Hooks 类型实战 1. useState 精确控制 const [user, setUser] useStateUser | null(null); // 联合类型处理异步数据// 明确数组项类型 const [todos, setTodos] useState{ id: string; text: string }[]([]);2. useRef 双重用法 // 操作 DOM const inputRef useRefHTMLInputElement(null);useEffect(() {if (inputRef.current) {inputRef.current.focus(); // 需要非空校验} });// 保存可变值 const timerRef useRefnumber(); timerRef.current setInterval(() {});3. useContext 类型安全 type Theme light | dark; const ThemeContext createContextTheme(light);const App () (ThemeContext.Provider valuedarkChild //ThemeContext.Provider );const Child () {const theme useContext(ThemeContext); // 自动推断为 Theme 类型return div className{theme}当前主题/div; }四、事件处理与泛型组件 1. 表单事件精准捕获 const handleChange (e: React.ChangeEventHTMLInputElement) {console.log(e.target.value); };input onChange{handleChange} /// 鼠标事件 const handleClick (e: React.MouseEventHTMLButtonElement) {e.preventDefault();const rect e.currentTarget.getBoundingClientRect(); // 正确访问 DOM 属性 };2. 让组件更灵活泛型组件 interface ListPropsT {data: T[];renderItem: (item: T) React.ReactNode; }function GenericListT({ data, renderItem }: ListPropsT) {return (ul{data.map((item, i) ( li key{i}{renderItem(item)}/li))} /ul); }// 使用 GenericListstring data{[a, b, c]} renderItem{(str) div{str.toUpperCase()}/div} /五、常见类型问题速查 // 1. 类型断言谨慎使用 const element document.getElementById(root) as HTMLElement;// 2. 处理可能未初始化的 ref const videoRef useRefHTMLVideoElement(null!); // 初始化后使用可使用非空断言// 3. 处理第三方库类型 import { RouteComponentProps } from react-router-dom;interface MatchParams { id: string; } type Props RouteComponentPropsMatchParams;const ProductPage: React.FCProps ({ match }) (div商品ID{match.params.id}/div );
http://www.dnsts.com.cn/news/900.html

相关文章:

  • 网站建设的违约责任制作网站平台
  • 郑州企业网站制作公司河南网络推广那家好
  • 苏州哪家做网站好些建站为应用技术
  • kali做钓鱼网站搜索引擎营销的实现方法有
  • 麟游做网站腾讯企业邮箱登录入口
  • 织梦手机网站有广告环球网广东疫情最新消息
  • 手机下载视频网站模板nba最新新闻
  • 龙之向导外贸专区潍坊网站建设seo
  • 泉州seo建站免费信息推广平台
  • 做三折页的网站国际实时新闻
  • 不同网站的主机和域名南安网站建设
  • 新开传奇网站大全seo到底是做什么的
  • 网站切换语言怎么做泉州百度首页优化
  • 贵州建网站360免费建站官网
  • 网站做竞价优化阿里云网站搭建
  • 菏泽市建设局网站seo优化便宜
  • 做村易通网站站长要收费吗怎么做一个小程序
  • 团购网站建设企业微信营销系统
  • 设计欣赏心得体会网站seo优化的目的
  • 北京官方网站网网络营销推广专员
  • PHP做的彩票网站好用吗龙岗seo优化
  • 营销型网站建设成为企业发展新趋势中国 日本 韩国
  • 网站页面做海报用什么软件手机百度2020最新版
  • 武汉便宜做网站hlbzx谷歌seo博客
  • 常德网站建设开发公司店铺推广渠道有哪些
  • 阿里云购买网站空间怎么给产品做网络推广
  • 长沙人才招聘网最新南宁seo网络优化公司
  • crm客户关系管理系统平台武汉网站建设方案优化
  • 做网站为什么要建站点推广app大全
  • 做网站如何月入过万网站关键词如何优化上首页