Reactjs 入門基礎(一)

實例中咱們引入了三個庫: react.min.js 、react-dom.min.js 和 browser.min.js:
  1,react.min.js -React 的 核心庫
  2,react-dome.min.js - 提供與DOM 相關的功能。
  3,browser.min.js 用於將JSX 語法轉化爲JavaScript 語法。react

 ReactDOM.render(
      <h1>Hello, world!</h1>,
      document.getElementById('example')
  );

  注意:若是咱們須要使用 JSX,則 <script> 標籤的 type 屬性須要設置爲 text/babel。數組

  React 使用 JSX 來替代常規的 JavaScript。
  JSX 是一個看起來很像 XML 的 JavaScript 語法擴展。
  咱們不須要必定使用 JSX,但它有如下優勢:
  JSX 執行更快,由於它在編譯爲 JavaScript 代碼後進行了優化。
  它是類型安全的,在編譯過程當中就能發現錯誤。
  使用 JSX 編寫模板更加簡單快速。瀏覽器

使用 JSX
  JSX 看起來相似 HTML ,咱們能夠看下實例:安全

   ReactDOM.render(
          <h1>Hello, world!</h1>,
          document.getElementById('example')
   );

咱們能夠在以上代碼中嵌套多個 HTML 標籤,須要使用一個 div 元素包裹它,實例中的 p 元素添加了自定義屬性 data-myattribute,
添加自定義屬性須要使用 data- 前綴。babel

   ReactDOM.render(
      <div>
        <h1>檸檬先生</h1>
        <h2>歡迎學習 React</h2>
        <p data-myattribute = "somevalue">這是一個很不錯的 JavaScript 庫!</p>
      </div>,
      document.getElementById('example')
    );

獨立文件dom

    你的 React JSX 代碼能夠放在一個獨立文件上,例如咱們建立一個 helloworld_react.js 文件,代碼以下:學習

     ReactDOM.render(
        <h1>Hello, world!</h1>,
        document.getElementById('example')
      );

    而後在 HTML 文件中引入該 JS 文件:優化

      <body>
        <div id="example"></div>
        <script type="text/babel" src="helloworld_react.js"></script>
      </body>

    咱們能夠在 JSX 中使用 JavaScript 表達式。表達式寫在花括號 {} 中。實例以下:spa

      <body>
        <div id="example"></div>
        <script type="text/babel">
          ReactDOM.render(
            <div>
              <h1>{1+1}</h1>
            </div>,
            document.getElementById('example')
          );
        </script>
      </body>

在 JSX 中不能使用 if else 語句,單可使用 conditional (三元運算) 表達式來替代。如下實例中若是變量 i 等於 1 瀏覽器將輸出 true, 若是修改 i 的值,則會輸出 false.code

      <body>
        <div id="example"></div>
        <script type="text/babel">
            var i = 1;
            ReactDOM.render(
                <div>
                  <h1>{i == 1 ? 'True!' : 'False'}</h1>
                </div>,
                document.getElementById('example')
            );
        </script>
      </body>

樣式
React 推薦使用內聯樣式。咱們可使用 camelCase 語法來設置內聯樣式. React 會在指定元素數字後自動添加 px 。如下實例演示了爲 h1 元素添加 myStyle 內聯樣式:

      <body>
        <div id="example"></div>
        <script type="text/babel">
          var myStyle = {
            fontSize: 100,
            color: '#FF0000'
          };
          ReactDOM.render(
            <h1 style = {myStyle}>檸檬先生</h1>,
            document.getElementById('example')
          );
        </script>
      </body>

註釋
註釋須要寫在花括號中,實例以下:

   ReactDOM.render(
        <div>
          <h1>檸檬先生</h1>
          {/*註釋...*/}
        </div>,
        document.getElementById('example')
    );

數組
JSX 容許在模板中插入數組,數組會自動展開全部成員:

      <body>
        <div id="example"></div>
        <script type="text/babel">
          var arr = [
            <h1>檸檬先生</h1>,
            <h2>學的不只是技術,更是夢想!</h2>,
            ];
          ReactDOM.render(
            <div>{arr}</div>,
            document.getElementById('example')
          );
        </script>
      </body>

React 組件
接下來咱們封住一個輸出 "Hello World!" 的組件,組件名爲 HelloMessage:

 var HelloMessage = React.createClass({
        render: function() {
            return <h1>Hello World!</h1>;
        }
    });

    ReactDOM.render(
        <HelloMessage />,
        document.getElementById('example')
    );

注意,原生 HTML 元素名以小寫字母開頭,而自定義的 React 類名以大寫字母開頭,好比 HelloMessage 不能寫成 helloMessage。
除此以外還須要注意組件類只能包含一個頂層標籤,不然也會報錯。

相關文章
相關標籤/搜索