ReactJs快速入門

ReactJs介紹:

官方一句很簡單的話,道出了什麼是ReactJS,就是,一個用於構建用戶界面的JavaScript框架,是Facebook開發的一款的JS框架。ReactJS把複雜的頁面,拆分成一個個的組件,將這些組件一個個的拼裝起來,就會呈現多樣的頁面。

環境準備

安裝UmiJS

umi,中文可發音爲烏米,是一個可插拔的企業級 react 應用框架。你可以將它簡單的理解爲一個專注性能的類 next.js 前端框架,並通過約定、自動生成和解析代碼等方式來輔助開發,減少我們開發者的代碼量。

1.安裝Node.js

2.安裝yarn

#接下來,開始安裝yarn,其中tyarn使用的是npm.taobao.org的源,速度要快一些

#可以把yarn看做了優化了的npm

npm i yarn tyarn -g #-g 是指全局安裝

tyarn -v #進行測試,如果能夠正常輸出版本信息則說明安裝成功了

#如果安裝失敗,是由於將yarn添加到環境變量中導致,參見

http://www.easysb.cn/index.php/2017/06/04/11/

3.

#下面開始安裝umi

tyarn global add umi

 

創建HelloWorld工程

1.初始化項目


初始化完成



 

 

 在命令輸入如下命令添加umi依賴:

 

創建config全局配置文件

 

 

umi中,約定的目錄結構如下:

 

第二步,創建HelloWorld.js頁面文件

umi中,約定存放頁面代碼的文件夾是在src/pages,可以通過singular:false來設置單數的命名方式,我們採用默認即可。

HelloWorld.js文件中輸入如下內容:

 

部署項目

umi dev

 

 

 

 

JSX語法

JSX語法就是,可以在js文件中插入html片段,是React自創的一種語法。

JSX語法會被Babel等轉碼工具進行轉碼,得到正常的js代碼再執行。

使用JSX語法,需要2點注意:

  • 標籤必須是閉合的
  • 只有一個根元素

 

JSX語法中,如果想要在html標籤中插入js腳本,需要通過{}插入js腳本。

 

組件

組件是React中最重要也是最核心的概念,一個網頁,可以被拆分成一個個的組件, 像這樣:的概念,一個網頁,可以被拆分成一個個的組件,列如

 

React中,這樣定義一個組件:

import React from 'react';//第一步,導入React

class HelloWorld extends React.Component{//第二步,編寫類並且繼承 React.Component
    render(){//第三步,重寫render渲染方法
        return <div>HelloWorld_class!</div>
    }
}
//第四部,導出該類
export default HelloWorld;

 

效果

導入自定義組件

import React from 'react'
import HelloWorld from './HelloWorld'

class Show extends React.Component{

    render(){
        return <div>111<HelloWorld/></div>;//使用HelloWorld組建
    }
}
export default Show;

效果圖

 

組件參數

組件是可以傳遞參數的,有2種方式傳遞,分別是屬性和標籤包裹的內容傳遞,具體使用如下:

import React from 'react'
import HelloWorld from './HelloWorld'

class Show extends React.Component{

    render(){
        return <HelloWorld name="lisi">hubei</HelloWorld>;//使用HelloWorld組建
    }
}
export default Show;

其中,name="zhangsan"就是屬性傳遞,shanghai就是標籤包裹的內容傳遞。容傳遞。

接收數據對應的也是2種方法:

屬性:this.props.name 接收;

標籤內容:this.props.children 接收;

import React from 'react';//第一步,導入React

class HelloWorld extends React.Component{//第二步,編寫類並且繼承 React.Component
    render(){//第三步,重寫render渲染方法
        return <div>HelloWorld_class! name={this.props.name},address=
            {this.props.children}</div>
    }
}
//第四部,導出該類
export default HelloWorld;

效果圖如下:

組件的狀態

每一個組件都有一個狀態,其保存在this.state中,當狀態值發生變化時,React框架會自動調用render()方法,重新渲染頁面。

其中,要注意兩點:

一: this.state值的設置要在構造參數中完成;

二:要修改this.state的值,需要調用this.setState()完成,不能直接對this.state進行修改;

下面通過一個案例進行演示,這個案例將實現:通過點擊按鈕,不斷的更新this.state,從而反應到頁面中。

import React from 'react'

class List extends React.Component{
    constructor(props){
        super(props);

        this.state = {
            dataList:[1,2,3]
        }
    }

    render(){

        return (
            <div>
                <ul>
                    {
                        this.state.dataList.map((value,index) => {
                          return <li key={index}>{value}</li>
                        })
                    }
                </ul>



                <button onClick={()=>{
                    let arr =  [...this.state.dataList,this.state.dataList[this.state.dataList.length-1]+1];
                    this.setState({
                        dataList:arr
                    });
                }}
                >添加</button>
            </div>
        )

    }


}
export default List;

初始狀態

 

點擊添加按鈕

生命週期

組件的運行過程中,存在不同的階段。React 爲這些階段提供了鉤子方法,允許開發者自定義每個階段自動執行的函數。這些方法統稱爲生命週期方法(lifecycle methods)。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章