国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

初識(shí)redux

xumenger / 667人閱讀

摘要:主要用于構(gòu)建,很多人認(rèn)為是中的視圖。函數(shù)接受另一個(gè)函數(shù)作為參數(shù),返回新生成的對(duì)象的變化,會(huì)導(dǎo)致的變化。用戶無(wú)法直接改變只能觸發(fā)上綁定的事件。表示應(yīng)該要發(fā)生變化了。允許使用方法設(shè)置監(jiān)聽(tīng)函數(shù),一旦發(fā)生變化,就自動(dòng)執(zhí)行這個(gè)函數(shù)。

什么是react
React 是一個(gè)用于構(gòu)建用戶界面的 JAVASCRIPT 庫(kù)。
React主要用于構(gòu)建UI,很多人認(rèn)為 React 是 MVC 中的 V(視圖)。
為什么需要redux

react 只涉及 view 層, React 只是 DOM 的一個(gè)抽象層,并不是 Web 應(yīng)用的完整解決方案。有兩個(gè)方面,它沒(méi)涉及。

代碼結(jié)構(gòu)

組件之間通信

而 redux正好能解決這兩件事

redux工作流

1.Store

Store 就是保存數(shù)據(jù)的地方。

import { createStore } from "redux";
const store = createStore(fn);

const state = store.getState();

createStore(reduces, globalState)
createStore函數(shù)接受另一個(gè)函數(shù)作為參數(shù),返回新生成的 Store 對(duì)象

2.Action

State 的變化,會(huì)導(dǎo)致 View 的變化。用戶無(wú)法直接改變State, 只能觸發(fā)上綁定的事件。Action 就是 View 發(fā)出,表示 State 應(yīng)該要發(fā)生變化了。

const action = {
  type: "ADD_TODO",
  payload: "Learn Redux"
};
3.Action Creator
const ADD_TODO = "添加 TODO";

function addTodo(text) {
  return {
    type: ADD_TODO,
    text
  }
}

const action = addTodo("Learn Redux");

定義一個(gè)函數(shù)來(lái)生成 Action,這個(gè)函數(shù)就叫 Action Creator。

4.store.dispatch()

store.dispatch()是 View 發(fā)出 Action 的唯一方法。表示 State 應(yīng)該要發(fā)生變化了。

import { createStore } from "redux";
const store = createStore(fn);

store.dispatch({
  type: "ADD_TODO",
  payload: "Learn Redux"
});
5.Reducer

Store 收到 Action 以后,必須給出一個(gè)新的 State,這樣 View 才會(huì)發(fā)生變化。這種 State 的計(jì)算過(guò)程就叫做 Reducer。

6.store.subscribe()

Store 允許使用store.subscribe方法設(shè)置監(jiān)聽(tīng)函數(shù),一旦 State 發(fā)生變化,就自動(dòng)執(zhí)行這個(gè)函數(shù)。

import { createStore } from "redux";
const store = createStore(reducer);
store.subscribe(listener);
一個(gè)極簡(jiǎn)的 redux 例子

simplest-redux-examp(https://github.com/jackielii/...

import React, { Component } from "react"
import PropTypes from "prop-types"
import ReactDOM from "react-dom"
import { createStore } from "redux"
import { Provider, connect } from "react-redux"

// React 組件
class Counter extends Component {
  render() {
    const { value, onIncreaseClick } = this.props
    return (
      
{value}
) } } // 屬性驗(yàn)證 Counter.propTypes = { value: PropTypes.number.isRequired, onIncreaseClick: PropTypes.func.isRequired } // Action const increaseAction = { type: "increase" } // Reducer 一個(gè)(state, action) => new state function counter(state = { count: 0 }, action) { const count = state.count switch (action.type) { case "increase": return { count: count + 1 } default: return state } } // Store const store = createStore(counter) // Map Redux state to component props // 傳入組件的屬性 function mapStateToProps(state) { return { value: state.count } } // Map Redux actions to component props // 組件需要使用props傳入的來(lái) dispatch function mapDispatchToProps(dispatch) { return { onIncreaseClick: () => dispatch(increaseAction) } } // Connected Component const App = connect( mapStateToProps, mapDispatchToProps )(Counter) ReactDOM.render( , document.getElementById("root") )
參考

Redux 入門教程-阮一峰

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

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

相關(guān)文章

  • angular - 收藏集 - 掘金

    摘要:如何在中使用動(dòng)畫前端掘金本文講一下中動(dòng)畫應(yīng)用的部分。與的快速入門指南推薦前端掘金是非常棒的框架,能夠創(chuàng)建功能強(qiáng)大,動(dòng)態(tài)功能的。自發(fā)布以來(lái),已經(jīng)廣泛應(yīng)用于開(kāi)發(fā)中。 如何在 Angular 中使用動(dòng)畫 - 前端 - 掘金本文講一下Angular中動(dòng)畫應(yīng)用的部分。 首先,Angular本生不提供動(dòng)畫機(jī)制,需要在項(xiàng)目中加入Angular插件模塊ngAnimate才能完成Angular的動(dòng)畫機(jī)制...

    AlexTuan 評(píng)論0 收藏0
  • 初識(shí)React(9):dva簡(jiǎn)介

    摘要:初始值,優(yōu)先級(jí)低于傳給的,如下此時(shí),在后為以格式定義。用于處理同步操作,唯一可以修改的地方。由觸發(fā),可以觸發(fā),可以和服務(wù)器交互,可以獲取全局的數(shù)據(jù)等等。取消注冊(cè),清理和。如果沒(méi)有返回函數(shù),使用會(huì)給予警告注冊(cè)路由表。 前言 dva 首先是一個(gè)基于 redux 和 redux-saga 的數(shù)據(jù)流方案,然后為了簡(jiǎn)化開(kāi)發(fā)體驗(yàn),dva 還額外內(nèi)置了 react-router 和 fetch,所以...

    keke 評(píng)論0 收藏0
  • 2017-08-30 前端日?qǐng)?bào)

    摘要:前端日?qǐng)?bào)精選精讀個(gè)最佳特性翻譯輕量級(jí)函數(shù)式編程第章組合函數(shù)之組件類型寫的姿勢(shì)中文周二放送面試題詳解知乎專欄譯原生值得學(xué)習(xí)嗎答案是肯定的掘金個(gè)超贊的視覺(jué)效果眾成翻譯布局時(shí)常見(jiàn)總結(jié)騰訊前端團(tuán)隊(duì)社區(qū)歸檔打地鼠入門學(xué)習(xí)書籍 2017-08-30 前端日?qǐng)?bào) 精選 精讀《Web fonts: when you need them, when you don’t》10個(gè)最佳ES6特性翻譯 -《Jav...

    weizx 評(píng)論0 收藏0
  • [源碼閱讀]高性能和可擴(kuò)展的React-Redux

    摘要:到主菜了,先看它的一看,我們應(yīng)該有個(gè)猜測(cè),這貨是個(gè)高階函數(shù)。可能有點(diǎn)繞,但就是這么一個(gè)個(gè)高階函數(shù)組成的,后面會(huì)詳細(xì)說(shuō)。定義了一個(gè)處理函數(shù)和高階函數(shù)執(zhí)行次的方法,這個(gè)方法比上面的復(fù)雜在于它需要檢測(cè)參數(shù)是否訂閱了。 注意:文章很長(zhǎng),只想了解邏輯而不深入的,可以直接跳到總結(jié)部分。 初識(shí) 首先,從它暴露對(duì)外的API開(kāi)始 ReactReduxContext /* 提供了 React.creat...

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

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

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<