美文网首页初学React系列
React学习(二) React基础JSX

React学习(二) React基础JSX

作者: IT_枭枫 | 来源:发表于2018-11-05 20:04 被阅读0次

上一篇文章我们介绍了 React的使用,并在通过了解create-react-app生成的目录结构后写了自己的第一个React程序。这一次我们讲系统讲解一下React的基础内容。

JSX

const element = <h1>Hello, world!</h1> 这个既不是字符串也不是HTML,这个就是JSX的语法,注意在使用JSX语法的时候一定要先引入 React,也就是 import react from 'react'

  • 嵌入表达式
    const name = 'Jeff';
    const el = <h1>Hello, { name }</h1>;
    
    在jsx中的表达式必须要用大括号括起来,这样react才会解析你的表达式。而且在大括号中我们还可以写方法调用,计算等。
    function formatName(user) {
     return user.firstName + ' ' + user.lastName
    }
    const user = {
     firstName: 'Jeff',
     lastName: 'Wang'
    }
    cosnt el = <h1>Hello, { formatName(user) }</h1>
    
  • 在for循环或if判断中使用JSX
    // if 判断中使用jsx
    function getGreeting(user) {
      if (user) {
        return <h1>Hello, { formatName(user) }!</h1>
      } else {
        return <h1>Hello, Stranger.</h1>
      }
    }
    
    // for 循环使用
      const list = [
        { id: 1, title: 'this is news 1' },
        { id: 2, title: 'this is news 2' }
      ]
      const listEl = list.map((v, i) => (
        <li key={v.id}>{v.title}</li>
      ))
     // 注意上面箭头函数后面我跟了一个 (),它等价于 => {return <li key={v.id}>{v.title}</li> }
    

使用注意点

  1. jsx中有的html属性需要大写,例如 class需要写成className,click 需要写成onClick等,并且每一项都是驼峰命名,如果你写成tabindex是不生效的。
  2. jsx 自动做了防止注入攻击,如果你像输出一个带html标签的内容,需要写成如下格式<h1 dangerouslySetInnerHTML={{__html: 'cc &copy; 2015'}}></h1> 这样就可以完整输出你的内容。
  3. 标签闭合,假如你只是一个子元素 可以直接写成 <InputBox />
  4. jsx 是一个对象,js中使用需要利用babel转成js对象,例如:
      const element = (
        <h1 className="greeting">
        Hello, world!
       </h1>
      ); 
      //  上面的jsx 等价于
      const element = React.createElement(
        'h1',
        {className: 'greeting'},
        'Hello, world!'
      );
      // 也等价于
      const element = {
        type: 'h1',
        props: {
          className: 'greeting',
          children: 'Hello, world'
        }
      };
    

今天我们就学这么多内容,有什么问题可在留言去留言,有 不足指出请大家指出。

相关文章

  • 【React Native学习笔记二】React基础

    一、React JSX基础 1、React.js和React Native关系 2、React Native原理 ...

  • React学习(二) React基础JSX

    上一篇文章我们介绍了 React的使用,并在通过了解create-react-app生成的目录结构后写了自己的第一...

  • react学习(2019/7/30-8/7)

    今日总结 课上提到的内容 1. 讲了react要学习的内容提纲 react 基础,JSX语法,插件 react-r...

  • React

    React 《React 官网文档》 React简介 React概念 React官网学习实践 - jSX简介 Re...

  • 《React极简教程》第二章 React JSX

    React JSX Why JSX?You don't have to use JSX with React. Y...

  • React Native 学习总结(一)

    本章主要总结RN的基础概况 在学习React Native 起初,总会在官网看到类似于React、JSX、ES6等...

  • sublime--InstallPackage时的错误There

    学习react之初,想要学习react推荐使用的jsx,在编辑器中支持jsx语法高亮,于是开始在sublime中安...

  • React基础

    一、创建React项目 $ npx create-react-app myreact 二、vscode配置jsx ...

  • React

    (1)React环境搭建的过程 安装地址示例 (2)React 基础 (2.1) es6语法 (2.2) JSX ...

  • 初试react

    这是学习react时写的第一个react文件,(holle react)使用es6语法和JSX语法) 在react...

网友评论

    本文标题:React学习(二) React基础JSX

    本文链接:https://www.haomeiwen.com/subject/alasxqtx.html