前提警示:react、redux之間沒有本質關係,redux能夠結合其餘庫使用。redux數據管理方式跟react的數據驅動視圖理念很合拍,一塊兒使用,開發更加的便利高效react
// index.js 入口文件建立store實例 import {createStore} from 'redux' import reducer from './reducer.js' const store = createStore(reducer); export default store; // reducer.js 處理數據 const defaultState={ carList:[] } export default (state=defaultState, action)=>{ // 拷貝數據 修改數據 返回數據 const newState = JSON.parse(JSON.stringify(state)) if(action.type == 'add_car_item'){ newState.carList.push(action.data); return newState; } return state; }
import store from '../store/index'
import store from '../store/index' export default class Car extends Component { constructor(props){ super(props) this.state = store.getState(); // 監聽store數據變化 this.watch = store.subscribe(this.changeState.bind(this)) } render() { return ( <div> 我是購物車頁 </div> ) } changeState(){ this.setState(store.getState()) } componentWillUnmount(){ this.watch(); // 取消監聽 防止內存泄漏 } }