React的jsx的用法

React是一个流行的JavaScript库,用于构建用户界面。它使用一种名为JSX的语法扩展来描述组件的结构和样式。JSX是React的核心语言之一,它允许开发人员在JavaScript中编写HTML,从而使代码更加简洁和易于阅读。

JSX是一种语法扩展,它允许开发人员在JavaScript中编写类似于HTML的代码。它使用类似XML的标记来描述组件的结构和样式。例如,下面是一个简单的JSX组件:

const MyComponent = () => {
  return (
    <div>
      <h1>Hello, World!</h1>
      <p>This is a JSX component.</p>
    </div>
  );
};

在这个例子中,我们定义了一个名为MyComponent的函数组件,它返回一个包含HTML标记的JSX元素。这个元素包含一个<div>标记,其中包含一个<h1>标记和一个<p>标记。这些标记被称为“元素”,它们可以包含属性和子元素。

JSX的语法非常类似于HTML,但有一些重要的区别。首先,JSX元素必须使用尖括号< >来包围。其次,JSX属性必须使用双引号"来包围。最后,JSX元素必须以分号;结尾。

除了HTML标记外,JSX还支持JavaScript表达式。这意味着我们可以在JSX中使用变量、函数和算术运算符等JavaScript语法。例如,下面是一个使用JavaScript表达式的JSX组件:

const MyComponent = () => {
  const name = "John";
  const age = 30;
  return (
    <div>
      <h1>Hello, {name}!</h1>
      <p>You are {age} years old.</p>
    </div>
  );
};

在这个例子中,我们定义了两个变量nameage,然后在JSX中使用它们来显示用户的姓名和年龄。我们使用花括号{ }来将JavaScript表达式嵌入到JSX中。

JSX还支持JavaScript的条件语句和循环语句。例如,下面是一个使用条件语句的JSX组件:

const MyComponent = ({ isLoggedIn }) => {
  return (
    <div>
      {isLoggedIn ? (
        <p>Welcome back!</p>
      ) : (
        <p>Please log in.</p>
      )}
    </div>
  );
};

在这个例子中,我们定义了一个名为isLoggedIn的属性,它表示用户是否已登录。然后,我们使用条件运算符? :来根据用户是否已登录显示不同的消息。

JSX还支持JavaScript的循环语句。例如,下面是一个使用循环语句的JSX组件:

const MyComponent = ({ items }) => {
  return (
    <ul>
      {items.map((item) => (
        <li key={item.id}>{item.name}</li>
      ))}
    </ul>
  );
};

在这个例子中,我们定义了一个名为items的属性,它是一个包含多个对象的数组。然后,我们使用Array.map()方法来遍历数组,并为每个对象创建一个<li>元素。我们还使用key属性来指定每个元素的唯一标识符,以提高性能。

jsx的{}能够放什么—表达式—值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--使用react的环境-->
    <script src="./js/babel.min.js"></script>
    <script src="./js/react.development.js"></script>
    <script src="./js/react-dom.development.js"></script>

    <!--
        babel的作用就是把 react的语法转为 js语言
        react-dom的作用就是把 虚拟dom转为dom
        react.development 开发环境下的react源码
    -->
</head>
<body>
<!--真是的dom-->
<div id="app"></div>

<script type="text/babel">
    let classNameVal = "content"
    let text="刘明飞快的在回你眼前的这个未婚妻是什么情况"
    function add(){
        return "真的让人无法自拔啊!!!"
    }
    let list=["心海","甘雨","艳菲","八重"]
    let VDOM = (
        <div className={classNameVal}>
            <p style={{color:"red",fontSize:"29px"}}>你好{classNameVal}</p>
            <img src="./1.jpg" alt="" width="239" height="159"/>
            {
                //这里是注释
                /*
                多行注释
                多行注释
                * */
            }
            <p>{text}</p>
            <p>{text+"看着他布灵布灵的大眼睛"}</p>
            <p>{add()}</p>
            <div>
                我的老婆们:
                {
                    list.map(ele=>{
                        return <h2>{ele}</h2>
                    })
                }


            </div>
        </div>
    )

    ReactDOM.render(VDOM, document.querySelector("#app"))
    /*
         在 {} 里能写什么   ---表达式---也就是值
         js代码 和 js表达式

         a. 表达式: 一个表达式会产生一个值,可以在任意需要值的地方 使用
             a
             a+520
             fn()
             list.map

         b. 流程控制语句
             if
             for
             switch

      */
</script>


</body>
</html>

总之,JSX是一种非常强大和灵活的语法扩展,它使React开发人员能够更轻松地编写和组织代码。通过使用JSX,我们可以将HTML、JavaScript和CSS等不同类型的代码组合在一起,从而创建出美观、灵活和易于维护的用户界面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值