一、 react 介绍

vue angular react  前端三大框架 俗称var

react是facebook开发的一个开源的javas库

react语法是典型的jsx(JavaScript  xml)语法

在react里边万物都可以是组件

二、react的特点

1、声明式设计:react 采用声明式,可以轻松的描写应用。

2、高效:react通过对DOM的模拟,最大限度的减少与DOM的交互。

3、灵活:react可以与已知的库或者框架很好的配合。

三、react编写有两种形式

1、使用class类。

2、使用function函数的形式。

注意:两种形式都需要掌握,以function函数形式掌握。因为现在大多数公司都在使用function函数的形式来编写react还有一部分公司或者一些老的项目还在使用class类的形式在进行编写维护。

四、如何使用react

1、使用react脚手架(create-react-app)来自动构建react项目。

2、使用外部引入的形式来进行编写

<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>

首先学习class类,后边在详细展开function函数的编写。

 如果使用外部引入形式编写  那么需要在script标签上边写 type="text/babel"

 将当前的es6代码babel解析为浏览器能够读懂的es5代码

 如果使用class类来编写react时候  class类名首字母大写

        格式:

            <div id="自定义id名"></div>

            class 组件名 extends React.Component {

                render() {

                    return (

                        <div>html内容结构</div>

                    )

                }

            }

需要使用 ReactDOM.render() 来将组件渲染到对应的html节点里边

            ReactDOM.render(

                <组件名></组件名>,

                document.getElementById('要挂载的自定义id名')

            )

  组件名首字母大写  不能使用中文  名字命名要有意义 使用英文

注意: 在编写组件的时候 一个组件只能拥有一个根元素 如果有多个则报错

 在进行class类名定义的时候 尽量不去使用跟html已有的标签名一致的名字

在react中如果想要给dom元素添加类名 需要写className 而不能直接写class

  例如:

              <div className="demo"></div>

列如:

<div id="app">
</div>
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
<script type="text/babel">
 class App extends  React.Component{
   render(){
  return(
    <div className="box">这是一头猪
      </div>
  )
   }
 }
 ReactDOM.render(
   <App/>,
   document.getElementById('app')
 )
</script>

效果如下:

respond与react的区别 react和reaction的区别_App

 我们就可以使用class类的形式加外部引入的形式把内容渲染到我们的页面中。

3、react的插值

 react的插值

            vue里边插值使用双花括号 {{data数据}}

            react里边要进行插值使用单花括号 {state中数据}  花括号里边是一个javascript运算环境

列如:

class App extends React.Component{
  render(){
    return(
      <div style={{color:"red",width:"200px",height:"200px",border:"1px solid blue",marginTop:"100px",textAlign:"center"}}>hello world</div>
    )
  }
}
ReactDOM.render(
  <App/>,
  document.getElementById('app')
)

注意:写行内样式时style= {{ }}里边以键值对的形式。