1. 程式人生 > >React規範(一)

React規範(一)

一.React+ES6+ant-design+webpack

二.建議加入eslint外掛到編輯器中,幫助我們檢查Javascript程式設計時的語法錯誤

基礎規範

component 資料夾中,展示元件檔名,樣式檔名,採用大駝峰命名,如:Login.js 、Login.less

containers  資料夾中,容器元件檔名,採用大駝峰命名,如:Login.js 

對應的展示元件和容器元件最好命名一致,便於查詢和管理

Component 展示組建書寫規範

一.建立展示組建

複製程式碼
import React from 'react';
import PropTypes from 'prop-types';

class Demo extends React.Component {
  // prop 初始化
  static propTypes = {
  }
  static defaultProps = {
  }
  // state 初始化
  constructor(props) {
    super(props);
    this.state = { demo: true }; // Init state in the constructor
  }

  // 生命週期方法
  componentWillMount () {}

  componentWillReceiveProps(nextProps) {}
  componentWillUnmount () {}
  // 自定義方法 

  handleClick = () => { this.state({ demo: !this.state.demo }) }

  render() {
    return (
      <div onClick={this.handleClick}>Demo</div>
    );
  }
}

export default Demo;

說明: 

1.事件處理採用ES6中箭頭函式寫法:   

 handleClick = () => {}

2.生命週期:

初始化

render                  渲染元件,必須的方法

getInitialState      只元件掛在前執行一次,返回的只相當於初始化state

getDefaultProps  在元件類建立的時候呼叫一次,然後返回值被快取下來

propTypes           物件允許驗證傳入到元件的props

statics                  物件允許你定義靜態的方法,這些靜態的方法可以在元件類上呼叫

掛載

componentWillMount      伺服器端和客戶端都只調用一次,在初始化渲染執行之前立刻呼叫。

componentDidMount       在初始化渲染執行之後立刻呼叫一次,僅客戶端有效(伺服器端不會呼叫)

更新

componentWillReceiveProps      在元件接收到新的props 的時候呼叫。在初始化渲染的時候,該方法不會呼叫

shouldComponentUpdate           在接收到新的props 或者 state,將要渲染之前呼叫。該生命週期可用於做效能優化

componentWillUpdate                在接收到新的props 或者 state 之前立刻呼叫。在初始化渲染的時候該方法不會被呼叫

componentDidUpdate

               在元件的更新已經同步到DOM 中之後立刻被呼叫。該方法不會在初始化渲染的時候呼叫

解除安裝

componentWillUnmount            在元件從DOM 中移除的時候立刻被呼叫

詳細請參考  http://blog.csdn.net/limm33/article/details/50942808

二.React元件中propTypes初始化,state初始化。

複製程式碼
 // 初始化prop為指定的 JS 屬性型別
  static propTypes = {
    // isRequired指定該prop是必須的,非必須prop可以不加
    age: React.PropTypes.number.isRequired,                        // 數字
    sex: React.PropTypes.func.bool.isRequired,                     // 布林
    name: React.PropTypes.string.isRequired,                       // 字串
    list: React.PropTypes.array.isRequired,                        // 陣列
    mylist: React.PropTypes.arrayOf.isRequired,                    // 自定義陣列
    submit: React.PropTypes.func.isRequired,                       // 方法
    Object: React.PropTypes.object.isRequired,                     // 物件
    form: React.PropTypes.shape({                                  // 自定義物件
      validateFields: PropTypes.func.isRequired,
      getFieldDecorator: PropTypes.func.isRequired,
    }).isRequired, 
    Node: React.PropTypes.node,                                    // 數字,字串,DOM元素
    Element: React.PropTypes.element,                              // React元素
    Any: React.PropTypes.any,                                      // 任意型別          
  }
  // prop預設值,非必須prop可以不寫
  static defaultProps = {
    form: {},
    list: [],
    mylist: undefined,
    age: undefined,
    sex:undefined,
    name: undefined,
    submit: () => {},
    submitResult: {},
    Object: undefined
  }
  // 初始化state
  constructor(props) {
    super(props);
    this.state = {
      orderlist: props.list,
      type: 'text',
    };
  }
複製程式碼

相關推薦

React規範

一.React+ES6+ant-design+webpack二.建議加入eslint外掛到編輯器中,幫助我們檢查Javascript程式設計時的語法錯誤基礎規範component 資料夾中,展示元件檔名

react 入門

需要 三個參數 create 直接 rip containe pan 參數 渲染 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8">

Jquery使用規範

1.0 cli stat 代碼 框架 div 好的 fail js框架 經過長時間的積累,整理了一堆以幫助更多的人~ jQuery的加載 1、我們經常用CDN來加載網頁,我之前的文章中也多次提及,點擊查看使用CDN的好處, <script type="text/j

react教程JSX語法、組件概念、生命周期介紹

app .org react教程 sna 輸入 卸載 war fun 獲取 JSX React中,推出了一種新的語法取名為JSX,它給了JS中寫HTML標簽的能力,不需要加引號。JSX的語法看起來是一種模板,然而它在編譯以後,會轉成JS語法,只是書寫過程中的語法糖。 JSX

Python編碼規範

常量 代碼 縮進 一行 包含 img 51cto 場景 依賴 python編碼規範:Google發布PEP規範1、 變量或方法命名 1)有意義的名字 2)註意python內建字與關鍵字 3)類的私有變量和函數命令加_ 4) 整體風格類似C,不能以數字開頭,需以字母或下劃線

CSS 2.1 規範

寫在前面的         該部落格為我閱讀 CSS 2.1 規範時的隨筆。為了方便與原規範中的章節對應上,章節資訊與相關 W3C 規範中的內容保持一致。以下只記錄了本人認為對於 CSS 編寫者較為重要的部分,所以章節資訊並不連續。 1 關於 CSS 2.1 規範 1.4.2 CSS 屬性定義 值(Val

React學習——基礎專案搭建以及環境配置

大家好,我是凱文,本篇文章將介紹React前端框架的環境配置以及專案搭建方法,其中涉及到了node.js(js執行平臺)、npm(依賴包管理工具)等內容。網上已經有許多類似的教程,這篇文章可以給各位做個參考,同時給我自己當做一個筆記。     React作為時下較為熱門的前

程式設計規範:C/C++的命名原則

無以規矩,不成方圓。 符合規範的統一命名是程式編寫的基本規矩之一。很多時候我們不願意接手別人的程式碼,原因之一就是程式碼命名很亂;我們自己寫程式碼時經常寫到後面忘了前面,也有可能是我們沒有養成規範的命名習慣。當寫程式碼成為一種藝術的美時,這種美的最直接的體現就

RESTful規範

一、學習restframework之前準備 1、json格式若想展示中文,需要ensure_ascii=False import json dic={'name':'你好'} print(json.dumps(dic,ensure_ascii=False)) 2、不基於restframewo

Servlet 3.0 規範註解規範

Servlet 3.0 規範(一)註解規範 一、基本使用 在 Servlet 3.0 時支援註解啟動,不再需要 web.xml 配製檔案。 1.1 Servlet 3.0 註解 Servlet 3.0 常用註解: @WebServlet @WebFilter @WebInitParam @WebLis

【webpack系列】從零搭建 webpack4+react 腳手架

搭建一個React工程的方式有很多,官方也有自己的腳手架,如果你和我一樣,喜歡刨根究底,從零開始自己一行一行程式碼建立一個React腳手架專案,那你就來對地方了。本教程是針對React新手,以及對webpack還不熟悉的使用者,或者是想了解當前前端工程化方案的使用者。我會在整個系列通過webpack4的

React Navigation-Navigation屬性(API)

你的app每一個screen元件中都自動具有了navigation屬性:this.props.navigationnavigate - 跳轉到其他screen,goBack - 關閉當前screen並且回退棧addListener - subscribe to updates

步寫web之react實戰

react系列文章建立在你已經熟悉javascript、html、css、less、webpack、react語法等的基礎上,這個熟悉是單個的教程都看過,但是沒有系統的把它們串聯起來。 下面開始我的嘗試之旅(注:此篇與下一篇為盲目探索篇,從(三)開始正式實踐)。 首先,假設

跨平臺RN開發的React規範ES6

規範 1.0 基本命名規範 js的class命名規範是駝峰AaBbCc js的function規範是aaBbCc js的元件命名規範是aa_bb_cc 1.1 基本型別:直接存取。 字元創 數值 布林型別 null undefined

React學習三大突出特點

1. React的基本認識 Facebook開源的一個js庫 一個用於構建使用者介面的js庫 React的核心思想: 通過構建可複用元件來構建使用者介面 1.1 React的特點 Declarative(宣告式編碼) Component-Based(

C語言程式碼規範縮排與換行

一、縮排的空格數為4個。 二、“{” 和 “}”各自獨佔一行。     不規範例子: for(i = 0; i < student_num; i++); { if((score[i] >= 0) && (score[i]) <=

JS模組化程式設計之AMD規範

隨著網站逐漸變成"網際網路應用程式",嵌入網頁的Javascript程式碼越來越龐大,越來越複雜。 網頁越來越像桌面程式,需要一個團隊分工協作、進度管理、單元測試等等......開發者不得不使用軟體工程的方法,管理網頁的業務邏輯。 JavaScript模組化程式設

React Context:隱式傳遞數據

urn let png pan import fun .get port exp 一 Context概述 Context provides a way to pass data through the component tree without having to

React筆記react-router跳轉傳值

Link 實現路由跳轉 import { Link } from 'react-router'; <Link to={ pathname = '/browser/browserProportion/detail'}> {this.name} &

Java開發規範

本文摘自阿里開發規範,是阿里工程師們嚴格遵循的開發標準,同時也是培養自己寫出高質量程式碼的必然要求,不讓自己寫出來的程式碼像個剛畢業的。 1、命名的風格:1. 程式碼中的命名均不能以下劃線或美元符號開始,也不能以下劃線或美元符號結束。 反例: _name $name2.