如何編寫一個react組件并使用

關于react

首先推薦先看阮一峰的react技術棧教程 React技術棧教程
其中的 React入門 | webpack 對了解react非常有用
然后推薦使用es6語法編寫react組件。es5和es6的寫法不同 同樣推薦阮的es6入門

開始 (現在編寫一個組件LoginBox)

  1. 必備 npm環境 (略)

  2. 新建項目目錄example,安裝react必要組件

npm init
npm install --save react
npm install --save react-dom
npm install --save-dev webpack //打包圖片 css js的工具
npm install --save-dev webpack-dev-server//實時調試工具
npm install --save-dev babel-loader
npm install --save-dev babel-core
npm install --save-dev css-loader
npm install --save-dev style-loader
npm install --save-dev babel-preset-es2015
npm install --save-dev babel-preset-react //這些都是轉化jsx語法到js的各種包 按需install
  1. 新建LoginBox.js
    引用react
    import React from 'react';
    編寫組件代碼(示例)
class LoginBox extends React.Component {
    constructor(props){
        super(props);
    }
    render() {
        return (
         <div>
                <form method="post" >
                    <div>
                    <label htmlFor="username">賬戶名</label>
                    <input type="text" name="username" placeholder="電子郵箱或者手機號碼" />
                    </div>
                    <div>
                    <label htmlFor="password">密碼</label>
                    <input name="password" id="password" placeholder="注冊賬戶時所用密碼" type="password" />
                    </div>
                    <button type="submit" >登入</button>
                </form>
        </div>
        );
  }
}
export default LoginBox 
  1. 新建一個main.js ( webpack 入口文件 )
    首先 頁面可能需要引用js,css等文件 所以先在main.js中引用
import './site.css'
import './example.js'

引用react 和react-dom

import React    from 'react';
import ReactDOM from 'react-dom';

引用剛寫的LoginBox, (這樣就可以在main.js中直接使用<LoginBox />標簽)

import LoginBox from './loginbox';

編寫main.js具體代碼

const app = document.querySelector('#app');
const LoginPage = React.createClass({
  render() {
    return (
      <div>
      //其他html代碼
      <LoginBox />
      </div>
    );
  }
});
ReactDOM.render(<LoginPage/>, app); //將上面的html 綁定到id為app的標簽下
  1. 使用webpack打包成一個js文件,然后在頁面中引用
    新建webpack.config.js文件,來讓webpack命令找到相應的目錄并使用對應的加載器(loader)來打包各種文件
module.exports = {
  entry: 
    __dirname+'/main.js', //__dirname 是webpack.config.js文件所處的目錄
  output: {
    path: __dirname, 
    filename: 'cuslogin.js'//最后導出的文件
  },
  module: {
    loaders:[{
            test: /\.js$/,
            exclude: /(node_modules)/,
            loader: 'babel-loader',
            query:{
                presets:['es2015','react']
            }
        },{  test: /\.css$/, 
             loader: 'style-loader!css-loader' }
    ]
  }};

輸入webpack命令打包上面所有文件,生成 cuslogin.js

webpack
  1. index.html
    最后在html頁面就能引用剛剛生成的js
<!DOCTYPE html>
<html lang="zh">
<body>
<div id="app"></div>
<script src="cuslogin.js"></script>
</body>
</html>
  1. 調試查看index.html頁面
    輸入命令webpack-dev-server,這是一個小型服務器,可以在8080端口打開當前目錄
webpack-dev-server
  1. 瀏覽器打開 http://localhost:8080 就能直接看到index.html頁面了
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 無意中看到zhangwnag大佬分享的webpack教程感覺受益匪淺,特此分享以備自己日后查看,也希望更多的人看到...
    小小字符閱讀 8,242評論 7 35
  • 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 webpack介紹和使用 一、webpack介紹 1、由來 ...
    it筱竹閱讀 11,243評論 0 21
  • 學習流程 參考文檔:入門Webpack,看這篇就夠了Webpack for React 一. 簡單使用webpac...
    Jason_Zeng閱讀 3,188評論 2 16
  • webpack 介紹 webpack 是什么 為什么引入新的打包工具 webpack 核心思想 webpack 安...
    yxsGert閱讀 6,515評論 2 71
  • 第三章 羞答答的玫瑰靜悄悄地開 5 多年以后的段譽,再度回首發生在他16歲這段繽紛的往事,雖是一次感情的小小觸動,...
    蘇倫_閱讀 378評論 0 3