【发布时间】:2018-08-18 20:25:53
【问题描述】:
您必须将组件传递给 connect 返回的函数。 而是收到 {"id":"-LGZkSJah62kXrfUl-6u","teamA":"England","teamB":"England"}
所以connect返回的函数是'initAddMatchResult'。为什么不适合传递团队变量?
您好,我正在使用 redux 创建 React 应用程序并收到错误消息。您必须将组件传递给 connect 返回的函数。 而是收到 {"id":"-LGZkSJah62kXrfUl-6u","teamA":"England","teamB":"England"}
我的组件上有一个函数可以正确调用
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
};
}
正确更新reducer中的状态。
const initAddMatchResult = ( state, action ) => {
return updateObject( state, {
selectedMatchForUpd: {
matchID: action.matchId,
teamAName: action.teamAName,
teamBName: action.teamBName
}
} );
}
我已经在 redux 中确认 selectedMatchForUpd 正在使用正确的值进行更新。 那么为什么会抛出这个错误呢?任何帮助将不胜感激。
【问题讨论】:
-
请在您打电话的地方发帖
connect()。 -
您是否正确传递了组件?
export default connect(mstp,mdtp)(Component)?
标签: javascript reactjs react-redux