React第三章(tsx语法入门 )

2024-09-06 22:52

本文主要是介绍React第三章(tsx语法入门 ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

tsx语法入门

FAQ

tsx跟jsx有什么区别

答: 基本没有没有区别只是在jsx语法上增加了类型。

jsx是什么?

答:jsx是js的语法扩展,允许在js中编写html代码。

例如:const fn = () => <div>小满是谁?没听说过</div>

语法编写

  • 使用tsx绑定变量{value}

绑定class需要用className

function App() {const num: number = 333const fn = () => 'test'return (<>{'11' /** 字符串用法 */}{num /** 变量用法 */}{fn() /** 函数用法 */}{new Date().getTime() /** 日期用法 */}</>)
}
//绑定class(className) id 属性等等 都是一样的
function App() {const value:string = 'A'return (<><div data-index={value} className={value} id={value}>{value}</div></>)
}
//绑定多个class(className)
function App() {const a:string = 'A'return (<><div className={`${a} class2`}>{value}</div></>)
}
//绑定样式style
function App() {const styles = { color: 'red' }return (<><div style={styles}>test</div></>)
}
  • 使用tsx绑定事件on[Click]{fn}小驼峰 其他事件也是一样的
function App() {const value: string = '小满'const clickTap = (params: string) => console.log(params)return (<><div onClick={() => clickTap(value)}>{value}</div></>)
}
  • tsx如何使用泛型

正常写泛型语法会跟tsx语法冲突,他会把泛型理解成是一个元素,解决方案后面加一个,即可

function App() {const value: string = '小满'const clickTap = <T,>(params: T) => console.log(params)return (<><div onClick={() => clickTap(value)}>{value}</div></>)
}
  • tsx如何渲染html代码片段(dangerouslySetInnerHTML)

dangerouslySetInnerHTML 的值是一个对象,该对象包含一个名为 __html 的属性,且值为你想要插入的 HTML 字符串

function App() {const value: string = '<section style="color:red">小满</section>'return (<><div dangerouslySetInnerHTML={{ __html: value }}></div></>)
}
  • tsx如何遍历dom元素

使用map遍历返回html标签即可

function App() {const arr: string[] = ["小满","中满","大满"]return (<>{arr.map((item) => {return <div>{item}</div>})}</>)
}
  • tsx如何编写条件语句

使用三元表达式就可以了

function App() {const flag:boolean = truereturn (<>{flag ? <div>真的</div> : <div>假的</div>}</>)
}
  • tsx注意事项

{}插值语句内不允许编写switch if 变量声明 或者直接放入对象本体

下面展示错误用法正确用法对比

//错误用法
function App() {const obj = { name: '小满' }return (<>{obj}</>)
}
//正确用法
function App() {const obj = { name: '小满' }return (<>{obj.name}{JSON.stringify(obj)}</>)
}
//错误用法
function App() {const flag:boolean = truereturn (<>{if(flag){<p>1</p>}else{<p>2</p>}}</>)
}
//正确用法
function App() {const flag:boolean = truereturn (<>{flag ? <div>1</div> : <div>2</div>}</>)
}

这篇关于React第三章(tsx语法入门 )的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1143352

相关文章

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

html 滚动条滚动过快会留下边框线的解决方案

《html滚动条滚动过快会留下边框线的解决方案》:本文主要介绍了html滚动条滚动过快会留下边框线的解决方案,解决方法很简单,详细内容请阅读本文,希望能对你有所帮助... 滚动条滚动过快时,会留下边框线但其实大部分时候是这样的,没有多出边框线的滚动条滚动过快时留下边框线的问题通常与滚动条样式和滚动行

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

使用Python和Tkinter实现html标签去除工具

《使用Python和Tkinter实现html标签去除工具》本文介绍用Python和Tkinter开发的HTML标签去除工具,支持去除HTML标签、转义实体并输出纯文本,提供图形界面操作及复制功能,需... 目录html 标签去除工具功能介绍创作过程1. 技术选型2. 核心实现逻辑3. 用户体验增强如何运行

CSS 样式表的四种应用方式及css注释的应用小结

《CSS样式表的四种应用方式及css注释的应用小结》:本文主要介绍了CSS样式表的四种应用方式及css注释的应用小结,本文通过实例代码给大家介绍的非常详细,详细内容请阅读本文,希望能对你有所帮助... 一、外部 css(推荐方式)定义:将 CSS 代码保存为独立的 .css 文件,通过 <link> 标签

使用Vue-ECharts实现数据可视化图表功能

《使用Vue-ECharts实现数据可视化图表功能》在前端开发中,经常会遇到需要展示数据可视化的需求,比如柱状图、折线图、饼图等,这类需求不仅要求我们准确地将数据呈现出来,还需要兼顾美观与交互体验,所... 目录前言为什么选择 vue-ECharts?1. 基于 ECharts,功能强大2. 更符合 Vue