成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

看redux的一些筆記

el09xccxy / 618人閱讀

摘要:不只為組件提供中的數(shù)據(jù)及擴(kuò)展方法,它還為定義的組件添加了一系列事件操作,這些事件的核心點(diǎn)就是,然后可以在自己定義的組件內(nèi)獲得。行為功能是對(duì)目的功能和有用行為的一種抽象。下一個(gè)中間件函數(shù)通常由名為的變量來(lái)表示。

redux

這個(gè)是好久之前寫(xiě)的,一直忘記粘過(guò)來(lái),里面有一些是寫(xiě)作格式是我自己定義的,所以和segmentfault的markdown語(yǔ)法有出入,圖片也不能加載,所以原文效果可以在原網(wǎng)站上瀏覽,敬請(qǐng)賜教。

<------------
文章原網(wǎng)址
------------>

Redux is a predictable state container for JavaScript apps1.

Redux特性

在過(guò)去的十幾年里web page一直都以指數(shù)遞增的方式發(fā)展,無(wú)論是概念上還是編程上想要徹底讀懂這門(mén)設(shè)計(jì)的藝術(shù)已經(jīng)變得不可為,如今在許多大型網(wǎng)站中的一個(gè)頁(yè)面從DOMEvent的微觀角度往往聚集著一系列復(fù)雜并瑣碎的行為功能2,它們聚合在一起構(gòu)成了我們今天可以在瀏覽器端可操作的視圖,正是如此,怎樣管理這些行為功能被提上日程,諸多才華橫溢的工程師們引申出狀態(tài)管理的概念,制作出許多優(yōu)秀的作品,如Redux、flux、flummox、mobxjs、refluxjs、martyjs、javascript-state-machine、vuex等,其中又以reduxflux最為流行。

) } } export default AppContainer Connect
npm i --save react-redux

Connect是由react-redux提供的一個(gè)高階函數(shù)。源碼中connect函數(shù)接收mapStateToProps、mapDispatchToProps、mergeProps、options四個(gè)參數(shù)返回一個(gè)用于生產(chǎn)Component的函數(shù)wrapWithConnect,然后再將組件Component作為參數(shù)注入wrapWithConnect(WrappedComponent)函數(shù)。

參數(shù) 描述
mapStateToProps 將state作為返回結(jié)果綁定到組件的props對(duì)象上
mapDispatchToProps
mergeProps
options ?
export default function connect(mapStateToProps, mapDispatchToProps, mergeProps, options = {}) {
  ...
  return function wrapWithConnect(WrappedComponent) {
    ...
  }
}

7

值得一說(shuō)的是hoistStatics函數(shù)源于hoist-non-react-statics第三方,作用是將原來(lái)組件中的元素拷貝到目標(biāo)組件。在使用connect函數(shù)的時(shí)候直接在已聲明的component后面引用connect。

import React, {Component} from "react";
...
import {connect} from "react-redux";

class Login extends Component {
  ...
  render() {
    ...
  }
}
...
export default connect(mapStateToProps, mapDispatchToProps)(Login)

Connect不只為react組件提供store中的state數(shù)據(jù)及擴(kuò)展dispatch方法,它還為定義的組件添加了一系列事件操作,這些事件的核心點(diǎn)就是store,然后可以在自己定義的組件內(nèi)獲得store。

constructor(){
  //獲取store
  this.store = props.store || context.store
  const storeState = this.store.getState()
  //把store的state作為組件的state,后面通過(guò)更新state更新組件
  this.state = { storeState }
  //清除組件的狀態(tài),內(nèi)部是一系列的標(biāo)示還原
  this.clearCache()
}
附錄
Github源碼 描述
ducks-modular-redux {ctionTypes, actions, reducer}規(guī)則解決方案
react-slingshot
saga-login-flow
login-flow
redux-saga
redux-auth-wrapper
dva
react-redux-tutorial
reduxjs doc reduxjs中文檔案
alloyteam:react-redux React 數(shù)據(jù)流管理架構(gòu)之 Redux 介紹

redux.js文檔,源自redux.js文檔中首頁(yè)的一段話,對(duì)redux特性的官方描述。 ?

行為功能是對(duì)目的功能和有用行為的一種抽象。這里特指在"web?page"中對(duì)視圖的按鈕等DOM元素點(diǎn)擊、頁(yè)面路由切換等功能的操作行為,在redux中被稱(chēng)為action。 ?

applyMiddleware(...middlewares):Middleware is the suggested way to extend Redux with custom functionality. Middleware lets you wrap the store"s dispatch method for fun and profit. The key feature of middleware is that it is composable. Multiple middleware can be combined together, where each middleware requires no knowledge of what comes before or after it in the chain. ?

expressjs,中間件的介紹為expressjs-middleware,概括來(lái)說(shuō)中間件middleware函數(shù)能夠訪問(wèn)請(qǐng)求對(duì)象 req、響應(yīng)對(duì)象 res 以及應(yīng)用程序的請(qǐng)求/響應(yīng)循環(huán)中的下一個(gè)中間件middleware函數(shù)。下一個(gè)中間件函數(shù)通常由名為next的變量來(lái)表示。 ?

koajs,中間件的介紹為koajs-middleware。 ?

AOP(Aspect-Oriented Programming),面向切面編程,通過(guò)預(yù)編譯方式和運(yùn)行期動(dòng)態(tài)代理實(shí)現(xiàn)程序功能的統(tǒng)一維護(hù)的一種技術(shù),被認(rèn)為是OOP的一種延續(xù)(補(bǔ)充和完善OOP)。 ?

->connect(mapStateToProps, mapDispatchToProps, mergeProps, options = {})->wrapWithConnect(WrappedComponent)->class Connect extends Component{}->Connect.contextTypes = {store: storeShape};Connect.propTypes = {store: storeShape}->return hoistStatics(Connect, WrappedComponent)-> ?

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/86976.html

相關(guān)文章

  • 詳解react、redux、react-redux之間關(guān)系

    摘要:或者兄弟組件之間想要共享某些數(shù)據(jù),也不是很方便傳遞獲取等。后面要講到的就是通過(guò)讓各個(gè)子組件拿到中的數(shù)據(jù)的。所以,確實(shí)和沒(méi)有什么本質(zhì)關(guān)系,可以結(jié)合其他庫(kù)正常使用。 本文介紹了react、redux、react-redux之間的關(guān)系,分享給大家,也給自己留個(gè)筆記,具體如下: React 一些小型項(xiàng)目,只使用 React 完全夠用了,數(shù)據(jù)管理使用props、state即可,那什么時(shí)候需要引入...

    xioqua 評(píng)論0 收藏0
  • FE.SRC-React實(shí)戰(zhàn)與原理筆記

    摘要:異步實(shí)戰(zhàn)狀態(tài)管理與組件通信組件通信其他狀態(tài)管理當(dāng)需要改變應(yīng)用的狀態(tài)或有需要更新時(shí),你需要觸發(fā)一個(gè)把和載荷封裝成一個(gè)。的行為是同步的。所有的狀態(tài)變化必須通過(guò)通道。前端路由實(shí)現(xiàn)與源碼分析設(shè)計(jì)思想應(yīng)用是一個(gè)狀態(tài)機(jī),視圖與狀態(tài)是一一對(duì)應(yīng)的。 React實(shí)戰(zhàn)與原理筆記 概念與工具集 jsx語(yǔ)法糖;cli;state管理;jest單元測(cè)試; webpack-bundle-analyzer Sto...

    PumpkinDylan 評(píng)論0 收藏0
  • Redux 基礎(chǔ) - react 全家桶學(xué)習(xí)筆記(一)

    摘要:二基礎(chǔ)就是一個(gè)普通的。其他屬性用來(lái)傳遞此次操作所需傳遞的數(shù)據(jù),對(duì)此不作限制,但是在設(shè)計(jì)時(shí)可以參照標(biāo)準(zhǔn)。對(duì)于異步操作則將其放到了這個(gè)步驟為添加一個(gè)變化監(jiān)聽(tīng)器,每當(dāng)?shù)臅r(shí)候就會(huì)執(zhí)行,你可以在回調(diào)函數(shù)中使用來(lái)得到當(dāng)前的。 注:這篇是16年10月的文章,搬運(yùn)自本人 blog...https://github.com/BuptStEve/... 零、環(huán)境搭建 參考資料 英文原版文檔 中文文檔 墻...

    aaron 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<