为什么减速器不在零部件中显示其值



我有一个React.js应用程序,我在其中使用Redux。我有一个操作,应该在减速器的状态下设置一个值,但它似乎不起作用。我使用console.log()在reducer中显示动作的action.payload,它似乎已被接收,但当我在需要它的组件中调用reducer时,它不会显示。

这是我的代码:

行动:

export const setModeWarning = (warning) => ({
type: 'MQTT:SET_MODE_WARNING',
payload:  warning
});

减速器:

case 'MQTT:SET_MODE_WARNING':
console.log("ENTERED")
console.log(action.payload)
console.log(initialState.modeWarning)
return {
...state,
modeWarning:action.payload.warning,

}

组件:

const {modeWarning} = this.props
console.log("MODE WARNING")
console.log(modeWarning)
const mapStateToProps = (state) => {
return {
reconnect:  state.reconnect,
battery : state.battery,
mode: state.mode,
modeMessage:state.modeMessage,
messageWarning:state.messageWarning,
updateMessage:state.updateMessage,
modeWarning:state.modeWarning
}
}

export default connect(mapStateToProps,null)(InformationScreen)

确保动作有效载荷与减速器有效载荷匹配

动作payload: warning

减速器modeWarning: action.payload // no .warning

动作payload: { warning }

减速器modeWarning: action.payload.warning

最新更新