安装react及babel的插件的使用

手记:


学习路径

  1. 安装react
  2. JSX的语法及babel插件jsx-control-statements控制循环插件。

安装的两种方式:
1.CDN
http://staticfile.org/
2.NPM

//全局安装react CLI
> npm i -g create-react-app
//创建应用
> create-react-app react-test
//进入react-test项目目录中,运行项目
> cd react-test
> npm start

1.Babel

使用babel可以将ES2015的代码编译成ES5的,也可以将JSX编译成javascript函数。
这种过程称为‘转译’ ,因为它将源代码编译成另一份新的源代码,而不是可执行文件。

//全局安装
npm i -g babel-cli
babel src.js -o output.js
npm i -g babel-preset-es2015 babel-preset-react
在当前根文件夹下创建一个 `.babelrc` 的配置文件,并写入以下代码来告诉Babel使用这些预设的配置:
{"presets":["es2015","react"]}

2.设置属性

//创建DOM元素
React.reactElement();

//创建元素并设置元素属性。
React.createElement('img',{
    src:'http:www.baidu.com',
    art:'百度一下,你就知道'
})

//创建子元素并设置元素属性
ReactDOM.render(
    React.createElement(
        'div',
        {className:'div'},
        'jde ',React.createElement('a',{
            href:'https://www.baidu.com',
            title:'百度一下,你就知道'
        },'click Me')
    ),
    document.getElementById('root')
)

3.JSX 和 HTML 的差异

属性
class和for都是JS的保留字,所以class和for在jsx中要使用classNamehtmlFor

样式
样式传入JS对象的方式[驼峰命名法]
<div style={{ backgroundColor:'red' }}/>

根元素
顶层元素不能有多个元素。

空格
JSX会忽略元素之间的空格。

布尔值属性
属性未赋值会默认设置为true,比如html的disabled属性。


4.流程控制

条件控制语句
if : {true && <login/> }
if...else : {true ? <login /> : <logout />}

Babel插件的条件控制:
安装jsx-control-statements
npm i -g jsx-control-statements
在.babelrc中添加 jsx-control-statements
使用方法如下:

<If condition={this.canShowSecretData}>
  <login />
</If>
jsx-control-statements 插件会转译为三元表达式,如下:
{canShowSecretData ? <login /> : null}

循环
使用map函数循环。

<ul>
  {users.map(user=><li>{user.name}</li>)}
</ul>

//使用jsx-control-statements插件循环:
<ul>
<For each="user" of={this.props.users}>
  <li>{user.name}</li>
</For>
</ul>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容

  • 201802015 复盘第82天 安之若素 20180214低气温晴天 大风 河北 人生目标:健康/工作/个人提...
    王萨怡阅读 182评论 0 0
  • 终于明白了自己一直在寻找的东西,原来,我一直寻找的是全然的爱。 那样的一种爱,犯错了不会被责骂,也不会被嘲讽,不会...
    瑞瑞的潜意识花园阅读 116评论 0 1
  • 我是一名体制内工作人员,之前还为自己有份这么体面的工作而沾沾自喜,毕业考入岗位之后就没有学习过,每天沉浸在...
    饼哥_0ee1阅读 697评论 1 4