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

react 0至1 【jsx】

1.函数调用 
// 项目的根组件
// App -> index.js -> public/index.html(root)const count = 100function getName () {return 'test'
}function App () {return (<div className="App">this is App{/* 使用引号传递字符串 */}{'this is message'}{/* 识别js变量 */}{count}{/* 函数调用 */}{getName()}{/* 方法调用 */}{new Date().getDate()}{/* 使用js对象 */}<div style={{ color: 'red' }}>this is div</div></div>)
}export default App
2.列表渲染
const list = [{ id: 1001, name: 'Vue' },{ id: 1002, name: 'React' },{ id: 1003, name: 'Angular' }
]function App () {return (<div className="App">this is App{/* 渲染列表 */}{/* map 循环哪个结构 return结构 */}{/* 注意事项:加上一个独一无二的key 字符串或者number id */}{/* key的作用:React框架内部使用 提升更新性能的 */}<ul>{list.map(item => <li key={item.id}>{item.name}</li>)}</ul></div>)
}export default App

3.条件渲染 

const isLogin = truefunction App () {return (<div className="App">{/* 逻辑与 && */}{isLogin && <span>this is span</span>}{/* 三元运算 */}{isLogin ? <span>jack</span> : <span>loading...</span>}</div>)
}export default App
// 定义类型
const articleType = 3  // 0 1 3// 定义核心函数(根据类型返回不同的JSX模版)function getArticleTem () {if (articleType === 0) {return <div>文章1</div>} else if (articleType === 1) {return <div>文章2</div>} else {return <div>文章3</div>}
}function App () {return (<div className="App">{/* 调用函数渲染不同的模版 */}{getArticleTem()}</div>)
}export default App
 4.事件绑定
function App () {// 基础绑定const handleClick = () => {console.log('button被点击了')}// 事件参数e// const handleClick = (e) => {//   console.log('button被点击了', e)// }// 传递自定义参数const handleClick = (name) => {console.log('button被点击了', name)}// 既要传递自定义参数 而且还要事件对象econst handleClick = (name, e) => {console.log('button被点击了', name, e)}return (<div className="App"><button onClick={(e) => handleClick('jack', e)}>click me </button></div>)
}export default App

相关文章:

  • 探索开源世界:2024年值得关注的热门开源项目推荐
  • 基于Python的数据可视化大屏的设计与实现
  • 深度神经网络——图像分类如何工作?
  • StarNet实战:使用StarNet实现图像分类任务(一)
  • String常用方法详解
  • AI大模型会让搜索引擎成为历史吗?
  • 一个在C#中集成Python的例子
  • Mac M3 Pro安装Hadoop-3.3.6
  • C# OpenCvSharp 逻辑运算-bitwise_and、bitwise_or、bitwise_not、bitwise_xor
  • 聊天页面样式
  • vue element-ui 下拉框 以及 input 限制输入,小数点后保留两位 界面设计案例 和 例子:支持mp4和m3u8视频播放
  • 【机器学习】基于Transformer架构的移动设备图像分类模型MobileViT
  • Wall国内开源程序照片墙,支持VR全景及安装教程
  • 【数据结构】三路快速排序
  • FM全网自动采集聚合影视搜索源码
  • 5、React组件事件详解
  • canvas 五子棋游戏
  • CEF与代理
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • JS字符串转数字方法总结
  • Netty 4.1 源代码学习:线程模型
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Python_OOP
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • springboot_database项目介绍
  • springMvc学习笔记(2)
  • 半理解系列--Promise的进化史
  • 工作中总结前端开发流程--vue项目
  • 时间复杂度与空间复杂度分析
  • 数据科学 第 3 章 11 字符串处理
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 06-01 点餐小程序前台界面搭建
  • ​configparser --- 配置文件解析器​
  • # SpringBoot 如何让指定的Bean先加载
  • (C语言)fread与fwrite详解
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • .net core 控制台应用程序读取配置文件app.config
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .NET中winform传递参数至Url并获得返回值或文件
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
  • @Autowired和@Resource的区别
  • @DataRedisTest测试redis从未如此丝滑
  • []Telit UC864E 拨号上网
  • [C/C++] C/C++中数字与字符串之间的转换
  • [GYCTF2020]Ez_Express
  • [java进阶]——方法引用改写Lambda表达式
  • [lesson17]对象的构造(上)
  • [Linux_IMX6ULL驱动开发]-基础驱动
  • [LLM]大模型八股知识点(一)