redux

话不多说直接上代码

 1 //  store.js
 2 
 3 // 生成store这个对象的
 4 import {createStore} from 'redux'
 5 //creaeStore这个方法的参数必须是一个函数,这个函数我们叫reductor,且有俩个参数 state和action
 6 var store=createStore(function(state=10,action){
 7     console.log(action)
 8     switch(action.type){
 9         case 'ADD':
10             return state+action.payload
11         case 'JIAN':
12             return state-action.payload
13         default:
14             return state
15     }
16     //必须返回一个新的state值
17 })
18 
19 export default store
 1 //  App.js
 2 
 3 import React from 'react';
 4 import './App.css';
 5 import store from './Redux/store'
 6 class App extends React.Component{
 7   constructor(props){
 8     super(props)
 9     this.fn=this.fn.bind(this)
10   }
11   render(){
12     return(
13       <div>
14         <button onClick={this.fn}>+</button>
15         <div>{store.getState()}</div>
16       </div>
17     )
18   }
19   fn(){
20     store.dispatch({type:'ADD',payload:5})
21   }
22 }
23 
24 export default App;
 1 //   index.js
 2 
 3
 4 import React from 'react';
 5 import ReactDOM from 'react-dom';
 6 import './index.css';
 7 import App from './App';
 8 import * as serviceWorker from './serviceWorker';
 9 import store from './Redux/store'
10 ReactDOM.render(<App />, document.getElementById('root'));
11 //store.subscribe方法设置监听函数,一旦 State 发生变化,就自动执行这个函数。
12 store.subscribe(function(){
13     ReactDOM.render(<App />, document.getElementById('root'));
14 });
15 // If you want your app to work offline and load faster, you can change
16 // unregister() to register() below. Note this comes with some pitfalls.
17 // Learn more about service workers: https://bit.ly/CRA-PWA
18 serviceWorker.unregister();

 

posted on 2019-09-26 16:31  *HECATE*  阅读(163)  评论(0编辑  收藏  举报

导航