ReactJS您必须将组件传递给connect返回的函数

时间:2018-08-18 20:25:54

标签: javascript reactjs react-redux

您必须将组件传递给connect返回的函数。 而是收到{“ id”:“-LGZkSJah62kXrfUl-6u”,“ teamA”:“英格兰”,“ teamB”:“英格兰”}

所以connect返回的函数是'initAddMatchResult'。为什么不适当传递团队变量?

嗨,我正在用redux创建一个React应用程序,并收到错误消息。您必须将一个组件传递给connect返回的函数。 而是收到{“ id”:“-LGZkSJah62kXrfUl-6u”,“ teamA”:“英格兰”,“ teamB”:“英格兰”}

我的组件上有一个函数可以正确调用

addMatchResultHandler = (id, teamAName, teamBName) => {
    this.setState({
        inputtingResult: true
    })
    this.props.onAddMatchResult( id, teamAName, teamBName);
}

派遣..

的动作
const mapDispatchToProps = dispatch => {
    return {
        onFetchUpcomingMatches: () => dispatch(actions.fetchUpcomingMatches()),
        onAddMatchResult: (matchID, teamAName, teamBName ) => dispatch(actions.initAddMatchResult(matchID, teamAName, teamBName))
    }
}

export const initAddMatchResult = ( matchID, teamAName, teamBName  ) => {
    return {
        type: actionTypes.INIT_MATCH_RESULT_INPUT,
        matchId: matchID,
        teamAName: teamAName,
        teamBName: teamBName
    };
}

可正确更新化简器中的状态。

const initAddMatchResult = ( state, action ) => {
    return updateObject( state, {
        selectedMatchForUpd: {
            matchID: action.matchId,
            teamAName: action.teamAName,
            teamBName: action.teamBName
        }
    } );
}

我已在redux中确认selectedMatchForUpd正在使用正确的值进行更新。 那么为什么会引发此错误呢?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

啊,我不是...。

我已经导出了默认的connect(mapStateToProps,mapDispatchToProps(MatchResultInput));

我本应该对那个人进行排序。谢谢。