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

功能网站首页模板上海网页设计公司

功能网站首页模板,上海网页设计公司,免费无网络游戏大全,免费视频素材网站推荐React JSX 语法知识点详解及案例代码 JSX(JavaScript XML)是 React 中的一种语法扩展,允许在 JavaScript 代码中编写类似 HTML 的结构。它使得组件的编写更加直观和简洁。一、JSX 语法知识点 1. 基本语法 JSX 允许在 JavaScript 中直接编写类…

React JSX 语法知识点详解及案例代码

JSX(JavaScript XML)是 React 中的一种语法扩展,允许在 JavaScript 代码中编写类似 HTML 的结构。它使得组件的编写更加直观和简洁。


一、JSX 语法知识点

1. 基本语法

JSX 允许在 JavaScript 中直接编写类似 HTML 的标签。例如:

const element = <h1>Hello, world!</h1>;

2. 表达式插值

使用花括号 {} 可以在 JSX 中嵌入 JavaScript 表达式,如变量、函数调用等。

const name = "Alice";
const element = <h1>Hello, {name}!</h1>;

3. 属性(Props)

在 JSX 中,属性使用类似 HTML 的语法传递,但属性名使用驼峰命名法(camelCase)。

const element = <img src={user.avatarUrl} alt="User Avatar" />;

4. 嵌套元素

JSX 支持嵌套元素,必须有一个根元素包裹所有子元素。

const element = (<div><h1>Title</h1><p>Content goes here.</p></div>
);

5. 条件渲染

可以使用 JavaScript 的条件运算符、三元运算符或逻辑运算符在 JSX 中进行条件渲染。

const isLoggedIn = true;
const element = <div>{isLoggedIn ? <p>Welcome back!</p> : <p>Please sign in.</p>}</div>;

6. 列表渲染

使用 map 方法遍历数组并生成 JSX 元素列表。

const items = ["Apple", "Banana", "Cherry"];
const listItems = items.map((item, index) => <li key={index}>{item}</li>);
const element = <ul>{listItems}</ul>;

7. 事件处理

在 JSX 中,事件处理使用驼峰命名法,并传递函数作为事件处理器。

function handleClick() {alert("Clicked!");
}
const element = <button onClick={handleClick}>Click Me</button>;

8. 样式(Styles)

可以通过 style 属性传递一个对象来设置内联样式,或者使用 className 属性添加 CSS 类。

const style = { color: "blue", fontSize: "16px" };
const element = <p style={style}>Styled Text</p>;

或者:

const element = <p className="styled-paragraph">Styled Text</p>;

9. 注释

在 JSX 中使用 {} 包裹注释:

const element = (<div>{/* 这是一个注释 */}<p>Hello, world!</p></div>
);

10. 片段(Fragments)

使用 <React.Fragment> 或简写 <></> 来包裹多个元素而不增加额外的 DOM 节点。

const element = (<><p>First item</p><p>Second item</p></>
);

二、详细案例代码

以下是一个包含上述知识点的 React 组件示例,包含详细注释。

// 导入 React 库
import React from "react";// 定义一个函数组件 App
const App = () => {// 定义一些变量和数组const user = {name: "张三",age: 25,avatarUrl: "https://via.placeholder.com/150",};const items = ["苹果", "香蕉", "樱桃", "日期", "无花果"];// 定义事件处理函数const handleClick = () => {alert(`你好,${user.name}!`);};// 定义样式对象const buttonStyle = {backgroundColor: "#4CAF50",color: "white",padding: "10px 20px",border: "none",borderRadius: "5px",cursor: "pointer",};const paragraphStyle = {fontSize: "16px",color: "#333",marginBottom: "20px",};return (// 使用 React.Fragment 包裹多个元素<React.Fragment>{/* 条件渲染:根据用户年龄显示不同的消息 */}{user.age >= 18 ? (<p style={paragraphStyle}>欢迎,{user.name}!您已成年。</p>) : (<p style={paragraphStyle}>欢迎,{user.name}!您未成年。</p>)}{/* 列表渲染:显示水果列表 */}<ul>{items.map((item, index) => (<li key={index}>{item}</li>))}</ul>{/* 事件处理:按钮点击事件 */}<button style={buttonStyle} onClick={handleClick}>点击我</button>{/* 内联样式和嵌套元素 */}<div style={{ marginTop: "30px", padding: "10px", border: "1px solid #ccc" }}><h2>用户信息</h2><img src={user.avatarUrl} alt={`${user.name}的头像`} style={{ width: "100px", height: "100px", borderRadius: "50%" }} /><p>姓名: {user.name}</p><p>年龄: {user.age}</p></div></React.Fragment>);
};// 导出 App 组件
export default App;

代码详解

  1. 导入 React

    import React from "react";
    

    React 库是构建 React 组件的基础。

  2. 定义函数组件

    const App = () => {// ...
    };
    

    使用函数组件定义 App,这是 React 组件的一种形式。

  3. 定义数据和函数

    const user = { ... };
    const items = [ ... ];
    const handleClick = () => { ... };
    const buttonStyle = { ... };
    const paragraphStyle = { ... };
    
    • user 对象包含用户信息。
    • items 数组包含水果列表。
    • handleClick 函数处理按钮点击事件。
    • buttonStyleparagraphStyle 对象用于内联样式。
  4. 条件渲染

    {user.age >= 18 ? (<p style={paragraphStyle}>欢迎,{user.name}!您已成年。</p>
    ) : (<p style={paragraphStyle}>欢迎,{user.name}!您未成年。</p>
    )}
    

    根据 user.age 的值,渲染不同的消息。

  5. 列表渲染

    <ul>{items.map((item, index) => (<li key={index}>{item}</li>))}
    </ul>
    

    使用 map 方法遍历 items 数组,生成列表项。key 属性用于帮助 React 识别每个元素。

  6. 事件处理

    <button style={buttonStyle} onClick={handleClick}>点击我
    </button>
    

    按钮点击时触发 handleClick 函数,弹出欢迎消息。

  7. 内联样式

    <div style={{ marginTop: "30px", padding: "10px", border: "1px solid #ccc" }}>...
    </div>
    

    使用内联样式设置 div 的样式。

  8. 嵌套元素

    <div><h2>用户信息</h2><img src={user.avatarUrl} alt={`${user.name}的头像`} style={{ ... }} /><p>姓名: {user.name}</p><p>年龄: {user.age}</p>
    </div>
    

    嵌套多个元素展示用户信息。

  9. 片段(Fragments)

    <React.Fragment>...
    </React.Fragment>
    

    使用 React.Fragment 包裹多个元素,避免在 DOM 中生成额外的节点。也可以使用简写 <></>


三、运行效果

上述代码在 React 应用中运行后,将呈现以下内容:

  1. 欢迎消息:根据用户的年龄显示不同的欢迎信息。
  2. 水果列表:显示一个包含多个水果名称的无序列表。
  3. 按钮:点击按钮会弹出包含用户姓名的欢迎消息。
  4. 用户信息:展示用户的头像、姓名和年龄。

四、总结

JSX 是 React 中强大的语法扩展,提供了简洁且直观的方式来编写组件。通过掌握 JSX 的基本语法、表达式插值、属性传递、条件渲染、列表渲染、事件处理、样式设置以及片段的使用,可以有效地构建复杂的 React 应用。

http://www.dtcms.com/a/567767.html

相关文章:

  • 石狮网站建设报价烟台网站建设方案策划
  • 公司网站去哪里做用云怎么做网站
  • 电子商务网站开发需求分析中信建设有限责任公司临空经济区
  • 南通网站关键字优化万能网站浏览器
  • 网络公司做的网站被告图片侵权学生校园网站模板
  • 网站推广怎么做优化wordpress 新建表
  • 怎么看一个网站是不是仿站宿州外贸网站建设公司
  • 网站搭建工作怎么样南京做网站需要多少钱
  • 可以做网站背景音乐的英文歌曲wordpress中文版安装教程 pdf
  • 有域名了网站怎么建设秦皇岛市是几线城市
  • 手机网站微信支付代码学院校园网网站建设情况
  • 做网站公司什么条件wordpress数据库替换页面
  • 做网站推广怎么跟客户沟通创建邮箱网站
  • 微信网站是什么意思美丽南方官网网站建设
  • 专业做外贸的网站做网站需要执照嘛
  • 企业关键词优化公司seo的含义是什么意思
  • 网站空间面板c 网站开发怎么弹出输入框
  • 如何查网站备案信息响水网站建设公司
  • python做网站视频国际时事新闻
  • 富阳有没有做网站的网站建设规划书摘要500字
  • 安阳做网站公司大宗贸易平台
  • h网站模板厦门专业做网站
  • 什么叫网站前台招人制作网站
  • 网站建设编程时注意事项做平台网站要多久
  • 网站头部通用代码手帐风格wordpress主题
  • 网站建设好的公司哪家好十大软件排行榜
  • 广西壮锦网站建设策划书网页开发流程
  • 上海高端网站设计公司软件开发案例展示
  • 做网站用虚拟主机还是用服务器品牌策划方案3000字
  • 免飞网站电商具体是做什么的上班