首页 > 解决方案 > 如何更改连接内的函数以响应 mapStateToProps?

问题描述

我在我的反应项目中使用 redux。我还是习惯了redux。所以我对redux有一点了解。这里我需要做的是传递 mapStateToProps 和 mapDispatchToProps.( export default connect(mapStateToProps, mapDispatchToProps)(AddTicket);)。但现在我有了不同的格式。有没有办法将此代码放入 mapStateToProps 中?

export default connect(
  (state) => {
    const ticketTypeArr = state.ViewTickets.typeEnum;
    const ticketStatusArr = state.ViewTickets.statusEnum;
    const ticketPriorityArr = state.ViewTickets.priorityEnum;

    const { inProgress, error } = state.Tickets.createTicketStatus;
    return {
      inProgress,
      error,
      ticketTypeArr,
      ticketStatusArr,
      ticketPriorityArr
    };
  },
  (dispatch) => bindActionCreators({ createTicket }, dispatch),
  mapDispatchToProps
)(AddTicket);

标签: reactjsredux

解决方案


const mapStateToProps = (state) => {
    const ticketTypeArr = state.ViewTickets.typeEnum;
    const ticketStatusArr = state.ViewTickets.statusEnum;
    const ticketPriorityArr = state.ViewTickets.priorityEnum;

    const { inProgress, error } = state.Tickets.createTicketStatus;
    return {
      inProgress,
      error,
      ticketTypeArr,
      ticketStatusArr,
      ticketPriorityArr
    };
 };

const mapDispatchToProps = (dispatch) => {
  createTicket: () => dispatch(createTicket())
}

export default connect(
  mapStateToProps,
  mapDispatchToProps
)(AddTicket);

推荐阅读