//compment
import React from 'react'
import { connect } from 'react-redux'
import store from '../../store'
import { TestAction } from '../../actions'
interface IProp{
  value:number,
  dispath: any
}
 class Home extends React.Component<IProp>{
  handleOnclick = () => {
    let {value} = this.props
    value+=1
    const action  = TestAction(value)
    this.props.dispath(action)
    console.log(this.props)
  }
  render(){
    return (
      <div>
        <div>{store.getState().value}</div>
        <button onClick = { this.handleOnclick }>点击我</button>
      </div>
      
    )
  }
}
const mapStateToProps = (state:any)=>{
    const { value } = state
    return {
      value
    }
}
const mapDispatchToProps = (dispath:any) =>{
  return {
    dispath
  }
}
export default connect(mapStateToProps,mapDispatchToProps)(Home)
//reducer
import { Action } from '../actions/index'
const initState = {
  value: 1
}
export function reducer(state = initState,action:Action){
  if(action.type === 'TestAction'){
      state.value = action.value
      return Object.assign({},state)
  }else{
    return state
  }
}
//action
export interface Action{
  type:string,
  value: any
}
export function TestAction(val:any):Action{
  return {
    type: 'TestAction',
    value: val
  }
}
 
版权声明:本文为love_life_forever原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
