美文网首页
React 的小白学习笔记 (一)

React 的小白学习笔记 (一)

作者: 空心斌 | 来源:发表于2018-07-20 17:33 被阅读0次

1. 安装/创建应用

react可以直接下载使用,也可以引入在线reactJS库,在这里我用的是npm 安装react

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

$ npm config set registry https://registry.npm.taobao.org

$ cnpm install -g create-react-app

$ create-react-app template

$ cd template/

$ npm start

完成后目录结构为下图显示,通过 http://localhost:3000 查看页面效果

2. React元素渲染

刚创建的应用的HTML界面只有一个React根节点,如下

<div id="root"></div>

在此根节点中的内容都将由React DOM来管理,一般用React来开发只会定义一个根节点,如果是在一个已有的项目当中引入React的话,可能需要在不同的部分单独定义React根节点。

现在我们用ReactDOM.render()的方法,往React根节点上渲染元素,即往这个div中插入dom节点或内容。

index.js 中添加代码

ReactDOM.render(

<p>hello react</p>

,document.getElementById('root'));

页面上会出现hello react,原先的根节点下的dom元素会被覆盖,只剩下一个<p>元素,至此成功将<p>元素渲染到页面上。

3. React JSX

JSX 即 JavaScript XML,基于JavaScript融合了XML,可以在js中书写XML。在react如果想向页面输出一标签,必须用到react内置的JSX语法,否则输出的只是普通字符串。

语法/特点

a. 可以在js中书写xml 如上述元素渲染

b. 可以嵌套多个HTML标签,需要一个div元素包裹它,当然它也可以不是div元素,但是要保证你的JSX表达式有且仅有一个顶层元素,如将上述元素渲染改为

ReactDOM.render(

<div>

    <p>hello</p>

    <p>react</p>

</div>

,document.getElementById('root'));

c. 自定义属性

你可以为你的标签添加自定义的属性,但是要以 data- 为前缀,如

ReactDOM.render(

 <div>  

    <p data-name="hello">hello</p>

    <p>react</p>

</div>

,document.getElementById('root'));

d. JavaScript表达式

JSX中可以使用JavaScript表达式,要写在{}中

ReactDOM.render(

    <p>{ 2+2}</p>

,document.getElementById('root'));

JSX不能使用if else,可以用三目运算符来代替

ReactDOM.render(   

    <p>{ 5>2?'true':'false'}</p>

,document.getElementById('root'));

e. 样式

React推荐使用内联样式,将样式封装为对象,再用{}添加,样式书写为小驼峰命名法,如 background-color写为backgroundColor

var myStyle = {

    fontSize:100,

    color:'red'

}

ReactDOM.render(      

    <p style={ myStyle }>{ 5>2?'true':'false'}</p>

,document.getElementById('root'));

f. 注释

在标签内部的注释需要使用花括号{},标签外的注释不能使用花括号

ReactDOM.render(   

    /*标签外的注释*/    

    <p>哈哈{/*标签内的注释*/}</p>

,document.getElementById('root'));

g. 数组

JSX允许在模板中插入数组,数组内容会被自动展开

var arr = [<p>小白</p>,<p>学习笔记</p>];

ReactDOM.render(

    <div>{arr}</div>

, document.getElementById('example'));

相关文章

网友评论

      本文标题:React 的小白学习笔记 (一)

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