React入门介绍(1)-ReactDOM.render()等基础

React入门介绍-ReactDOM.render()等基础

首先,React是一个用于构建用户界面的Javascript库,但Peact并非一套完整的MVC或MVVM的框架,它仅涵盖V-view视图层。JSX是javascript的扩展,像Typescript,coffeeScript等同样,都是Javascript的语法糖,最终都要变编译成JS执行,建议使用JSX的代码进行React的开发。由于Javascript代码与JSX代码并不兼容,凡是使用JSX的地方咱们都须要加上 type="text/babel"。
在使用React以前,咱们必需要先引入三个库——react.js/react-dom.js/browser.min.jsjavascript

<html>
  <head>
    <script src="../../react.js"></script>
    <script src="../../react-dom.js"></script>
    <script src="../../browser.min.js"></script>
  </head>
  <body>
  </body>
</html>

JSX比较特殊的是容许Javascript和HTML的混写,看一个简单的例子:html

<div id="container"></div>

    <script type="text/babel">
    let value = "demo1";
    let buttonName = "submit";
      ReactDOM.render(
        <div>
          <input type="text" value={value}/> //注意单标签必定要闭合“/”,不然会报错
          <button>{buttonName}</button>//在{}中插入变量
        </div>,
        document.getElementById("container")
      )
    </script>

ReactDOM.render是React的最基本方法用于将模板转为HTML语言,并插入指定的DOM节点。ReactDOM.render(template,targetDOM),该方法接收两个参数:第一个是建立的模板,多个dom元素外层需使用一个标签进行包裹,如<div>;第二个参数是插入该模板的目标位置。若要为建立的某个元素增长class属性,不能直接定义class而要用className,由于class是javascript中的保留字。例如给input添加className并更改样式:java

<input type="text" className="userName" value={value}/> 
 
    .userName{background: yellow}//在CSS样式中定义

一样能够定义行内样式,将全部的样式包裹在一个对象中,以相似变量的形式给style属性赋值,注意样式属性要用驼峰命名法表示,如:backgroundColor而不是background-color;fongSize而不是font-size,react

<input type="text" style={{"backgroundColor":"yellow","color":"red"}} value={value}/>

另外能够直接将样式赋值给一个变量,把变量赋值给style属性,以下:babel

<div id="container"></div>
    <script type="text/babel">
    let value = "demo1";
    let buttonName = "submit";
    let inputStyle = {
      "backgroundColor":"yellow",
      "color":"red"
    };
      ReactDOM.render(
        <div>
          <input type="text" style={inputStyle} value={value}/> 
          <button>{buttonName}</button>
        </div>,
        document.getElementById("container")
      )
    </script>
相关文章
相关标签/搜索