React02 JSX的基本使用

embedded/2024/10/18 14:25:12/

JSX的基本使用

      • JSX 变量引用
      • JSX 函数调用
      • JSX 方法调用
      • JSX 遍历数组
      • JSX 条件渲染
      • JSX 事件绑定

JSX 变量引用

const userName = "BLU";
function App() {return (<div className="App"><p>Hello, {userName}!</p></div>);
}
export default App;

JSX 函数调用

function getName () {return "BLU";
}
function App() {return (<div className="App"><p>Hello, {getName()}!</p></div>);
}
export default App;

JSX 方法调用

function App() {return (<div className="App"><p>{new Date().getDate()}</p></div>);
}
export default App;

JSX 遍历数组

注意:key 是 React 框架内部使用的用于提升更新性能的属性。

const list = ['Item 1', 'Item 2', 'Item 3'];
function App() {return (<div className="App">{list.map((item, index) => (<li key={index}>{item}</li>))}</div>);
}
export default App;

JSX 条件渲染

通过 逻辑与运算符&&三元表达式 实现条件渲染:

const loading = true;
function App() {return (<div className="App">{loading && <p>loading...</p>}{loading ? <p>loading...</p> : <p>loaded!</p>}</div>);
}
export default App;

通过自定义函数实现复杂条件渲染:

const articleType = 1;function getArticleType() {if (articleType === 0) {return <div>无图文章</div>} else if (articleType === 1) {return <div>单图文章</div>} else {return <div>多图文章</div>}
}function App() {return (<div className="App">{getArticleType()}</div>);
}export default App;

JSX 事件绑定

  • 基础事件绑定
function App() {const handleClick = (e) => {console.log("button被点击了", e);}return (<div className="App"><button onClick={handleClick}>Click Me</button></div>);
}
export default App;
  • 传递自定义参数
function App() {const clickHandler = (name) => {console.log("Hello " + name);}return (<div className="App"><button onClick={() => clickHandler('BLU')}>Click Me</button></div>);
}
export default App;
  • 传递自定义参数和事件参数
function App() {const clickHandler = (name, e) => {console.log("Hello " + name, e);}return (<div className="App"><button onClick={(e) => clickHandler('BLU', e)}>Click Me</button></div>);
}
export default App;

http://www.ppmy.cn/embedded/127278.html

相关文章

WPF 为button动态设置不同的模板

有时候需要动态的设置一些按钮的状态模板。使一个button显示不同的内容&#xff0c;比如Button未点击安装显示&#xff1a; 安装后显示&#xff1a; 可以通过设置button的content&#xff0c;通过content来设置不同的模板来实现功能&#xff0c;以下是代码&#xff1a; MainWi…

【Webpack--021】ImageMinimizer图片压缩

&#x1f913;&#x1f60d;Sam9029的CSDN博客主页:Sam9029的博客_CSDN博客-前端领域博主 &#x1f431;‍&#x1f409;若此文你认为写的不错&#xff0c;不要吝啬你的赞扬&#xff0c;求收藏&#xff0c;求评论&#xff0c;求一个大大的赞&#xff01;&#x1f44d;* &#x…

MarsCode--字符串有多少种可能性【简单】

问题描述 给定一个数字&#xff0c;我们按照如下规则把它翻译为字符串&#xff1a;0 翻译成 “a” &#xff0c;1 翻译成 “b”&#xff0c;……&#xff0c;11 翻译成 “l”&#xff0c;……&#xff0c;25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数&#x…

打家劫舍系列 | Leetcode 198 | 213 | 337 | 动态规划 | 滚动数组

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 毛毛张今天分享的是动态规划中打家劫舍系列的题目&#xff01; 文章目录 题目1&#xff1a;[198. 打家劫舍](https://leetcode.cn/problems/house-robber/)1.题目描述…

【Rust版从头写CAD】 前言

文章目录 前言 前言 Rust是一种系统级编程语言&#xff0c;注重安全性、性能和并发性&#xff0c;适用于开发高效、安全和可靠的应用程序&#xff0c;非常适合于CAD领域开发。 然而&#xff0c;要实现一个完整的CAD&#xff08;计算机辅助设计&#xff09;软件是一个复杂且耗时…

Midjourney中文版:解锁你的创意之旅

在创意与技术的交汇点&#xff0c;Midjourney中文版正等待着每一位热爱艺术、渴望表达的灵魂。这不仅仅是一款AI绘画工具&#xff0c;更是一个激发无限灵感、让创意自由翱翔的奇妙平台。 Midjourney AI超强绘画 (原生态系统&#xff09;用户端&#xff1a;Ai Loadinghttps://w…