摘要:描述和之間沒有關系。但是還是比較適合和搭配的,因為允許你以的形式來描述界面,而非常擅長控制的變化。應用中應有且僅有一個。只需要在渲染根組件時使用即可。創建上一篇開發教程九基礎
描述
Redux 和 React 之間沒有關系。Redux 可以搭配 React、Angular 甚至純 JS。但是 Redux 還是比較適合和 React 搭配的,因為 React 允許你以 state 的形式來描述界面,而 Redux 非常擅長控制 state 的變化。
Redux 和 React 的結合需要用到 redux-react 這個庫
案例說明 目錄├── README.md ├── index.js ├── action │ └── home.js │ └── about.js ├── actionType │ ├── index.js ├── reducer │ └── home.js │ └── about.js │ └── index.js └── view └── Home.jsx └── About.jsxActionType
拋出兩個type常量
export const SET_AGE = "SET_AGE" export const SET_NAME = "SET_NAME"Action
創建動作
//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同上,就是一個模擬,可以寫不同的數據reducer規則
//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 轉成擁有同名 keys 的對象,但使用 dispatch 把每個 action creator 包圍起來,這樣可以直接調用它們。
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.jsindex) } } function mapStateToProps(state) { return { pageState: state.home } } function mapDispatchToProps(dispatch) { return { pageActions: bindActionCreators(pageActions, dispatch) } } export default connect( mapStateToProps, mapDispatchToProps )(Inbox) // export default Inbox;
將react和redux結合
createStore:創建一個 Redux store 來以存放應用中所有的 state。應用中應有且僅有一個 store。
:是由 React Redux 提供的高階組件,用來讓你將 Redux 綁定到 React,讓所有容器組件都可以訪問 store,而不必顯示地傳遞它。只需要在渲染根組件時使用即可。
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" //創建store const store = createStore(rootReducer) const BasicExample = () => () ReactDOM.render( , document.getElementById("root") );
上一篇:react開發教程(九)redux基礎
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/54435.html
摘要:描述和之間沒有關系。但是還是比較適合和搭配的,因為允許你以的形式來描述界面,而非常擅長控制的變化。應用中應有且僅有一個。只需要在渲染根組件時使用即可。創建上一篇開發教程九基礎 描述 Redux 和 React 之間沒有關系。Redux 可以搭配 React、Angular 甚至純 JS。但是 Redux 還是比較適合和 React 搭配的,因為 React 允許你以 state 的形式...
摘要:案例代碼定義計算規則,即個商品價值戀人結算完成,當前購物車為空單身狗根據計算規則生成定義數據即變化之后的派發規則觸發數據變化上一篇開發教程八組件通信下一篇開發教程十結合 Readux基礎 什么是redux? 簡單點回答就是,一個管理數據的全局對象,但是它有單一狀態樹的概念,所謂的單一狀態樹,就是指所有的 state都以一個對象樹的形式儲存在一個單一的 store 中。 頁面中的所有狀...
摘要:前端每周清單半年盤點之與篇前端每周清單專注前端領域內容,以對外文資料的搜集為主,幫助開發者了解一周前端熱點分為新聞熱點開發教程工程實踐深度閱讀開源項目巔峰人生等欄目。與求同存異近日,宣布將的構建工具由遷移到,引發了很多開發者的討論。 前端每周清單半年盤點之 React 與 ReactNative 篇 前端每周清單專注前端領域內容,以對外文資料的搜集為主,幫助開發者了解一周前端熱點;分為...
閱讀 3615·2021-11-22 09:34
閱讀 3186·2021-11-15 11:38
閱讀 3039·2021-10-27 14:16
閱讀 1233·2021-10-18 13:35
閱讀 2424·2021-09-30 09:48
閱讀 3429·2021-09-29 09:34
閱讀 1626·2019-08-30 15:54
閱讀 1818·2019-08-26 11:57