create-react-app中使用redux,react-redux

1,index.js

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import { createStore } from 'redux'
import { Provider } from 'react-redux'
import reducer from './index.reducer'

//創建store
const store = createStore(reducer);


ReactDOM.render(
    <Provider store={store}>
        <App />
    </Provider>, 
    document.getElementById('root'));

2,index.reducer.js

const tiger = 100


//這是action
const increase = {
    type: '加'
}
const decrease = {
    type: '減'
}
//這是reducer
const reducer = (state = tiger, action) => {
    switch (action.type) {
        case '加':
		   

			return  state +=100
        case '減':
            return  state -=100
        default:
            return state;
    }
}
export default reducer

3,APP.JS

import React, { Component } from 'react';
import { connect } from 'react-redux';

class App extends Component {

  componentDidMount() {
    console.log('this.props====',this.props.tiger)
  } 
  render() {
    const { PayIncrease, PayDecrease } = this.props;
    return (
      <div className="App">
        <h2>{this.props.tiger}</h2>
        <button onClick={PayIncrease}>+++++</button>
        <button onClick={PayDecrease}>-----</button>
      </div>
    );
  }
}
//需要渲染什麼數據
function mapStateToProps(state) {
  return {
    tiger: state
  }
}
//需要觸發什麼行爲
function mapDispatchToProps(dispatch) {
  return {
    PayIncrease: () => dispatch({ type: '加' }),
    PayDecrease: () => dispatch({ type: '減' })
  }
}

export default App = connect(mapStateToProps, mapDispatchToProps)(App)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章