react入门笔记

devtools/2025/2/13 0:10:59/

1.JSX的用法

javascript">function App(){let msg = 'react 的插值';return (<div>{msg}</div> 
)
}

jsx中也可以绑定属性,绑定属性时不能加引号

javascript">function App(){let url= 'https://baikebcs.bdimg.com/baike-react/common/logo-baike.svg';return (<div><img src={url} /></div>)
}

jsx中也支持一些简单的js运算, 也支持条件运算符(react 的条件渲染方式之一

javascript">function App(){let count = 10;return (<div><p>{ 1 + 1}</p><h2>{count * 10}</h2></div>)
}

jsx中也可以使用es6的模板字符串, 支持字符串拼接操作

javascript">function App(){let count = 10;let msg = '新的一年';return (<div><p>{`${count} hello`}</p>  <p>{msg + '美妙人生'}</p>        </div>)
}

在编译之后,JSX会被转化为普通的JavaScript对象。所以可以在if或者for语句里使用JSX,将它赋值给变量,当作参数传入,作为返回值都是允许的:

javascript">function App(){let count = 10;let ele ;// 变相的react的条件渲染if(count > 10){ele = (<h1>《哪吒2》</h2>)}else {ele = <p>《唐探1900》</p>}return (<div>{ele}</div>)
}

2.react的条件渲染

React 没有特殊的语法来编写条件语句,因此你使用的就是普通的 JavaScript 代码。例如使用 if 语句根据条件引入 JSX: if语句工作与JSX的外部, 即函数式组件的顶层作用域中, return 返回的模板就是jsx语法

javascript">function App(){let content;if (isLoggedIn) {content = <AdminPanel />;} else {content = <LoginForm />;}return (<div>{content}</div>);
}

如果你喜欢更为紧凑的代码,可以使用 条件 ? 运算符。与 if 不同的是,它工作于 JSX 内部:

javascript">function App(){return (<div>{isLoggedIn ? (<AdminPanel />) : (<LoginForm />)}</div>)
}

当你不需要 else 分支时,你还可以使用 逻辑 && 语法:

javascript">function App(){let isLoggedIn  = true;return (<div>{isLoggedIn && <AdminPanel />}</div>)
}

3.react的列表渲染

React 中的列表渲染推荐使用的是数组的map() 方法; react中列表渲染也需要绑定key值;

对于列表中的每一个元素,你都应该传递一个字符串或者数字给 key,用于在其兄弟节点中唯一标识该元素。通常 key 来自你的数据,比如数据库中的 ID。如果你在后续插入、删除或重新排序这些项目,React 将依靠你提供的 key 来思考发生了什么。

使用 map() 函数将这个数组转换为 <标签名> 标签构成的html结构:

javascript">function App(){const products = [{ title: 'Cabbage', id: 1 },{ title: 'Garlic', id: 2 },{ title: 'Apple', id: 3 },];const listItems = products.map(product =><li key={product.id}>{product.title}</li>);   return (<ul>{listItems }</ul>) 
}

也可以直接在jsx中使用map()方法进行渲染

javascript">function App(){   const products = [{ title: 'Cabbage', id: 1 },{ title: 'Garlic', id: 2 },{ title: 'Apple', id: 3 },];return (<ul>{products.map(product =><li key={product.id}>{product.title}</li>);   }</ul>) 
}


http://www.ppmy.cn/devtools/158335.html

相关文章

软件测试之通用功能测试点

文章目录 前言分页搜索框对搜索框操作的测试点搜索结果页测试点 输入框测试点输入方式测试点输入框操作类测试点 图片相关的测试点PC端上传图片测试点PC端图片浏览测试点移动端上传图片测试点移动端浏览图片测试点 视频播放器测试点视频播放测试点视频操作测试点 登录新增删除修…

手动配置IP

手动配置IP&#xff0c;需要考虑四个配置项&#xff1a; 四个配置项 IP地址、子网掩码、默认网关、DNS服务器 IP地址&#xff1a;格式表现为点分十进制&#xff0c;如192.168.254.1 子网掩码&#xff1a;用于区分网络位和主机位 【子网掩码的二进制表达式一定是连续的&#…

谷云科技RestCloud全面接入DeepSeek 开启智能新时代

在数字化转型的浪潮中&#xff0c;谷云科技始终走在数据集成与智能应用领域的前沿。近期&#xff0c;随着 DeepSeek 的火爆出圈&#xff0c;谷云科技紧跟技术趋势&#xff0c;对旗下两大核心产品 —— 数据集成软件 ETLCloud 和 AI Agent 智能体构建平台进行了重大升级&#xf…

Pytest自动化测试框架总结

1、pytest简介 pytest是Python的一种单元测试框架&#xff0c;与python自带的unittest测试框架类似&#xff0c;但是比unittest框架使用起来更简洁&#xff0c;效率更高。 执行测试过程中可以将某些测试跳过&#xff0c;或者对某些预期失败的case标记成失败能够支持简单的单元…

Svelte前端框架

Svelte 简介 Svelte 是一个现代的前端框架&#xff0c;用于构建高效、响应式的用户界面。与 React、Vue 和 Angular 等传统框架不同&#xff0c;Svelte 在构建时将组件编译为高效的纯 JavaScript 代码&#xff0c;而不是在浏览器中运行一个庞大的运行时库。这使得 Svelte 应用具…

如何利用 AWS 预测分析功能做精准财务规划?

在企业数字化转型的过程中&#xff0c;云计算的使用成本往往成为管理者关注的重点。AWS 作为全球领先的云服务提供商&#xff0c;提供了一系列强大的财务管理工具&#xff0c;其中 AWS 预测分析功能使企业能够更准确地掌控云支出&#xff0c;实现成本优化和精准预算规划。那么&…

计算机毕业设计SparkStreaming+Kafka广告推荐系统 广告预测 广告数据分析可视化 广告爬虫 大数据毕业设计 深度学习 机器学习

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

将DeepSeek接入Excel实现交互式对话

引言 将DeepSeek接入Excel&#xff0c;为你带来前所未有的交互体验&#xff01;“哪里不懂&#xff0c;选中哪里”&#xff0c;然后直接在侧边栏对话框向DeepSeek发问&#xff0c;非常地方便&#xff01; 案例演示 设置接入方式 既可以通过本地部署的DeepSeek接入Excel&#…