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

資訊專欄INFORMATION COLUMN

react開(kāi)發(fā)教程(十)redux結(jié)合react

yck / 2252人閱讀

摘要:描述和之間沒(méi)有關(guān)系。但是還是比較適合和搭配的,因?yàn)樵试S你以的形式來(lái)描述界面,而非常擅長(zhǎng)控制的變化。應(yīng)用中應(yīng)有且僅有一個(gè)。只需要在渲染根組件時(shí)使用即可。創(chuàng)建上一篇開(kāi)發(fā)教程九基礎(chǔ)

描述

Redux 和 React 之間沒(méi)有關(guān)系。Redux 可以搭配 React、Angular 甚至純 JS。但是 Redux 還是比較適合和 React 搭配的,因?yàn)?React 允許你以 state 的形式來(lái)描述界面,而 Redux 非常擅長(zhǎng)控制 state 的變化。

Redux 和 React 的結(jié)合需要用到 redux-react 這個(gè)庫(kù)

案例說(shuō)明 目錄
├── README.md
├── index.js
├── action
│   └── home.js
│   └── about.js
├── actionType
│   ├── index.js
├── reducer
│   └── home.js
│   └── about.js
│   └── index.js
└── view
    └── Home.jsx
    └── About.jsx
ActionType

拋出兩個(gè)type常量

export const SET_AGE = "SET_AGE"
export const SET_NAME = "SET_NAME"
Action

創(chuàng)建動(dòng)作

//home.js
import {SET_NAME, SET_AGE} from "../actionType"

export function set_age (age) {
  return {
    type: SET_AGE,
    age
  }
}

export function set_name (name) {
  return {
    type: SET_AGE,
    name
  }
}

//about.js同上,就是一個(gè)模擬,可以寫不同的數(shù)據(jù)
reducer規(guī)則
//reducer/home.js

import {SET_NAME, SET_AGE} from "../ActionType"

const initialState = {
  name: "劉宇",
  age: 100
}

export default (state = initialState, action) => {
  switch (action.type) {
    case SET_NAME:
      return Object.assign({}, state, {
        name: action.name
      })
    case SET_AGE:
      return Object.assign({}, state, {
        age: action.age
      })
    default:
      return state
  }
}

//reducer/about.js   同上寫法可自定義

//reducer/index.js
import {combineReducers} from "redux"
import home from "./home"
import about from "./about"

export default combineReducers(
  {
    home,
    about
  }
)
view

bindActionCreators:把 action creators 轉(zhuǎn)成擁有同名 keys 的對(duì)象,但使用 dispatch 把每個(gè) action creator 包圍起來(lái),這樣可以直接調(diào)用它們。
connect:連接 React 組件與 Redux store。

import React, { Component } from "react";
import * as pageActions from "../../action"
import {bindActionCreators} from "redux"
import {connect} from "react-redux"

class Inbox extends Component {
  constructor (props) {
    super(props)
    console.log(this.props)
  }

  render() {
    return (
      
index
) } } function mapStateToProps(state) { return { pageState: state.home } } function mapDispatchToProps(dispatch) { return { pageActions: bindActionCreators(pageActions, dispatch) } } export default connect( mapStateToProps, mapDispatchToProps )(Inbox) // export default Inbox;
index.js

將react和redux結(jié)合

createStore:創(chuàng)建一個(gè) Redux store 來(lái)以存放應(yīng)用中所有的 state。應(yīng)用中應(yīng)有且僅有一個(gè) store。
:是由 React Redux 提供的高階組件,用來(lái)讓你將 Redux 綁定到 React,讓所有容器組件都可以訪問(wèn) store,而不必顯示地傳遞它。只需要在渲染根組件時(shí)使用即可。

import React from "react";
import ReactDOM from "react-dom";
import {createStore} from "redux"

import {
  BrowserRouter as Router,
  Route,
  Link,
  Switch,
  Redirect
} from "react-router-dom"
import {Provider} from "react-redux"

import Home from "./view/Inbox"
import About from "./view/About"
import rootReducer from "./Reducer"

//創(chuàng)建store
const store = createStore(rootReducer)

const BasicExample = () => (
  
    
) ReactDOM.render( , document.getElementById("root") );

上一篇:react開(kāi)發(fā)教程(九)redux基礎(chǔ)

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

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

相關(guān)文章

  • react開(kāi)發(fā)教程redux結(jié)合react

    摘要:描述和之間沒(méi)有關(guān)系。但是還是比較適合和搭配的,因?yàn)樵试S你以的形式來(lái)描述界面,而非常擅長(zhǎng)控制的變化。應(yīng)用中應(yīng)有且僅有一個(gè)。只需要在渲染根組件時(shí)使用即可。創(chuàng)建上一篇開(kāi)發(fā)教程九基礎(chǔ) 描述 Redux 和 React 之間沒(méi)有關(guān)系。Redux 可以搭配 React、Angular 甚至純 JS。但是 Redux 還是比較適合和 React 搭配的,因?yàn)?React 允許你以 state 的形式...

    jsliang 評(píng)論0 收藏0
  • react開(kāi)發(fā)教程(九)redux基礎(chǔ)

    摘要:案例代碼定義計(jì)算規(guī)則,即個(gè)商品價(jià)值戀人結(jié)算完成,當(dāng)前購(gòu)物車為空單身狗根據(jù)計(jì)算規(guī)則生成定義數(shù)據(jù)即變化之后的派發(fā)規(guī)則觸發(fā)數(shù)據(jù)變化上一篇開(kāi)發(fā)教程八組件通信下一篇開(kāi)發(fā)教程十結(jié)合 Readux基礎(chǔ) 什么是redux? 簡(jiǎn)單點(diǎn)回答就是,一個(gè)管理數(shù)據(jù)的全局對(duì)象,但是它有單一狀態(tài)樹(shù)的概念,所謂的單一狀態(tài)樹(shù),就是指所有的 state都以一個(gè)對(duì)象樹(shù)的形式儲(chǔ)存在一個(gè)單一的 store 中。 頁(yè)面中的所有狀...

    muzhuyu 評(píng)論0 收藏0
  • 前端每周清單半年盤點(diǎn)之 ReactReactNative 篇

    摘要:前端每周清單半年盤點(diǎn)之與篇前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開(kāi)發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開(kāi)發(fā)教程工程實(shí)踐深度閱讀開(kāi)源項(xiàng)目巔峰人生等欄目。與求同存異近日,宣布將的構(gòu)建工具由遷移到,引發(fā)了很多開(kāi)發(fā)者的討論。 前端每周清單半年盤點(diǎn)之 React 與 ReactNative 篇 前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開(kāi)發(fā)者了解一周前端熱點(diǎn);分為...

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

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

0條評(píng)論

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