React学习—认识JSX

一、定义

JSX ,他是 JavaScrip 的一种扩展语法。表示对象

const element = (
    <div>
        <h1>Hello!</h1>
        <h2>Good to see you here.</h2>
    </div>
);
// 我们将JSX分割成多行。我们推荐使用括号将 JSX 包裹起来
// JSX 的基本语法规则:遇到 HTML 标签(以 < 开头),就用 HTML 规则解析;遇到代码块(以 { 开头),就用 JavaScript 规则解析。
// 只有一个顶层标签
// 标签闭合

Babel 将JSX编译成 React.createElement() 调用

const element = React.createElement(
    ‘h1‘,
    {className: ‘greeting‘},
    ‘Hello, world!‘
);

基本上它会创建一个如下所示的对象:

// 注意: 这是简化的结构
const element = {
    type: ‘h1‘,
    props: {
        className: ‘greeting‘,
        children: ‘Hello, world‘
    }
};

二、JSX指定属性值

1、使用字符串

const ele = <div tabIndex = "0"></div>
//  使用驼峰属性名约定,而不是html属性名称。class => className tabindex => tabIndex

2、花括号嵌入js表达式

const ele = <div tabIndex = {user.url}></div>

3、 自定义属性 data-abc

三、行内样式

style={ {color: "red"} }

四、渲染元素

不同于浏览器的 DOM 元素, React 元素是普通的对象,非常容易创建。React DOM 会负责更新 DOM ,以匹配React元素(愚人码头注:DOM元素与React元素保持一致)。元素是构成组件的"材料"。

function Welcome(props) {
      return <h1>Hello, {props.name}</h1>;
 }

 const element = <Welcome name="Sara" />;

 ReactDOM.render(
      element,
      document.getElementById(‘root‘)
 );

//  React DOM 会将元素及其子元素与之前版本逐一对比, 并只对有必要更新的 DOM 进行更新, 以达到 DOM 所需的状态。

  

时间: 2024-10-05 12:16:17

React学习—认识JSX的相关文章

React学习系列

React学习系列 系列学习react 翻译地址 https://scotch.io/tutorials/learning-react-getting-started-and-concepts 我是初学者,英语也不是很好,不过一直强迫自己看英文文档. 这是理解翻译,翻译的不好,请见谅!()中的是我翻译过程中理解,参考下,有什么说的不对的欢迎指点下! 第一节:如何开始react和了解react的概念 1.React是什么 react是Facebook 开发出来用于促进UI交互,创建带有状态的,可复

React学习笔记-1-什么是react,react环境搭建以及第一个react实例

什么是react?react的官方网站:https://facebook.github.io/react/下图这个就是就是react的标志,非常巧合的是他和我们的github的编辑器Atom非常相似.react是Facebook官方推出的一个javascript的库,现在已经有了非常多的库和框架Facebook为什么还要开发一款新的框架呢?原因就是 Facebook遇到了一些新的问题.Facebook需要解决的问题是构建数据不断变化的大型应用.大型应用是什么意思?数据不断变化带来什么问题呢? 

react学习小结(生命周期- 实例化时期 - 存在期- 销毁时期)

react学习小结 本文是我学习react的阶段性小结,如果看官你是react资深玩家,那么还请就此打住移步他处,如果你想给一些建议和指导,那么还请轻拍~ 目前团队内对react的使用非常普遍,之前对react使用不多,正好我目前在做的项目也在使用react+redux,借着这个机会系统的学习下react+redux. react是什么 react是一个JavaScript类库,通过react,我们可以构建可组合的UI,也就是说,我们可以通过重用组件来组合出我们的UI.可以说react的核心便是

React学习笔记 - 组件&amp;Props

React Learn Note 4 React学习笔记(四) 标签(空格分隔): React JavaScript 三.组件&Props 组件可以将UI切分成一些独立的.可复用的部件,这样你就只需专注于构建每一个单独的部件. 组件接收props,返回react元素. 1. 函数定义\类定义组件 最简单组件方式 - 函数定义组件: // 函数定义组件 function Welcome(props) { return <h1>Hello, {props.name}!</h1>

React 学习路线

以下所谈及的,就是为你定制的 React 学习路线. 为了能稳固基础,我们一定要逐步地来进行学习. 倘若你正在建造一间房子,那么为了能快点完成,你是否会跳过建造过程中的部分步骤?如在具体建设前先铺设好部分石头?或直接在一块裸露的土地上先建立起墙面? 又假如你是在堆砌一个结婚蛋糕:能因为上半部分装饰起来更有趣,而直接忽略了下半部分? 不行吗? 当然不行.众所周知,这些做法只会导致失败. 因此,不要想着通过接触 React 来将 ES6 + Webpack + Babel + React + Rou

2019年React学习路线图

作者|javinpaul 译者|无明 之前我们已经介绍了 2019 年 Vue 学习路线图,而 React 作为当前应用最广泛的前端框架,在 Facebook 的支持下,近年来实现了飞越式的发展,我们将在下文中介绍 2019 年 React 学习路线图,希望给想学 React 的开发者一些借鉴. 下图是2018 年的 React 路线图,它非常全面,2018 年剩下的时间可能不够你学会所有这些,但不要担心,所有的技术在 2019 年仍然有效.   图片来源: https://github.com

Node.js 之react.js组件-JSX简介

JSX 简介 const element = <h1>Hello, world!</h1>; 以上为一个JSX,我的理解(简单理解带有HTML标签的变量元素). 简介:是一个 JavaScript 的语法扩展.我们建议在 React 中配合使用 JSX,JSX 可以很好地描述 UI 应该呈现出它应有交互的本质形式.JSX 可能会使人联想到模版语言,但它具有 JavaScript 的全部功能. JSX 可以生成 React “元素”. 为什么使用 JSX? React 认为渲染逻辑本

假如React没了JSX

如题,想必React大家早已不陌生,而React里面的JSX都是玩的得心应手了,但是假如说React里面没有了React那会是一种什么样的情形呢,我们来简单的看一下. 首先我们来实现一个简单的list列表. 好,现在我把他的代码贴出来,大家看一下(可复制的代码在文章最下方) 感觉是不是很清晰明了.那我们如果不使用JSX该怎么书写这段代码呢? 下面我们来看一下实现.(可复制的代码在文章最下方) 是不是感觉复杂了很多,而且层级关系也没有那么一目了然了.当然了,在工作中我们基本不会不使用JSX.毕竟直

react学习(三)介绍JSX

参考:https://facebook.github.io/react/docs/introducing-jsx.html 一.JSX介绍 ReactDOM.render(<div>hello world</div>, document.getElementById('root'));红色部分如果加一层''号,会出错,JSX既不是字符串也不是HTML,它是JavaScript的语法拓展 二.JSX使用 1.使用大括号嵌入js表达式 let a = "hello world