Reactjs 如何传递对象以反应redux

Reactjs 如何传递对象以反应redux,reactjs,redux,react-redux,Reactjs,Redux,React Redux,将对象传递到redux存储时,我有点困惑。我已经成功创建了商店,可以从初始状态添加项目。该函数在调用时也会激发 行动: import { GET_ITEM } from './OrderTypes' export const getItem = (payload) => { return { type: GET_ITEM, payload: { payload } } } 减速器: import { GET_ITEM } from './

将对象传递到redux存储时,我有点困惑。我已经成功创建了商店,可以从初始状态添加项目。该函数在调用时也会激发

行动:

import { GET_ITEM } from './OrderTypes'

export const getItem = (payload) => {
    return {
        type: GET_ITEM,
        payload: { payload }
    }
}
减速器:

import { GET_ITEM } from './OrderTypes'

const initialState = {
    orderList: [],   
}

const orderReducer = (state = initialState, action) => {
    switch (action.type) {
        case GET_ITEM: return {
            ...state,            
            orderList: [...state.orderList, action.payload]           
        }
        default: return state        
    }
}

export default orderReducer
组成部分:

class TestComponentextends Component {

  pushItem = () => {
    this.props.getItem({
      payload: 'test object'
    })
  }

  render() {
    return (
      <input type='button' value='test btn' onClick={this.pushItem} />
    )
  }
}

const mapStateToProps = state => {
  return {
    orderList: state.orderList
  }
}

const mapDispatchToProps = dispatch => {
  return {
    getItem: () => dispatch(getItem())
  }
}

export default connect(mapStateToProps, mapDispatchToProps)(TestComponent)
类TestComponentExtendes组件{
pushItem=()=>{
this.props.getItem({
有效载荷:“测试对象”
})
}
render(){
返回(
)
}
}
常量mapStateToProps=状态=>{
返回{
orderList:state.orderList
}
}
const mapDispatchToProps=调度=>{
返回{
getItem:()=>dispatch(getItem())
}
}
导出默认连接(mapStateToProps、mapDispatchToProps)(TestComponent)
发生的情况:将一个空对象添加到orderList数组中


我希望发生的事情:将对象存储在orderList数组的
pushItem
中。

您的
mapDispatchToProps
不会将参数传递给操作创建者(-第二个示例):

更简单的方法是让
react redux
使用以下方法处理映射:


您的
mapDispatchToProps
没有将参数传递给操作创建者(-第二个示例):

更简单的方法是让
react redux
使用以下方法处理映射:

const mapDispatchToProps = dispatch => ({
  getItem: (...args) => dispatch(getItem(...args))
})
const mapDispatchToProps = {
  getItem
}