为什么返回false时减速器返回undefined?

时间:2018-08-25 13:48:48

标签: javascript reactjs redux

我写了一个简化程序,可以跟踪表单以查看是否成功提交

const submitted = (state = null, action) => {
    switch (action.type) {
      case 'SET_SUBMITTED':
        console.log('seting submit');
        return false;
      case 'SUBMITTED':
        return true;
      default: 
        return state;
    }
};

当我在控制台登录console.log状态时,状态返回未定义。但是,当我将返回值更改为true时,我会获得true值。 redux不允许状态为错误的布尔值吗?

export default combineReducers({
  auth,
  submitted,
  test
});

// on the component side

function mapStateToProps({ submitted }) {
    return {
        submitted
    }
}

export default connect(mapStateToProps, { submitStudentData })(StudentForm);

1 个答案:

答案 0 :(得分:3)

好吧,您根本不返回状态。您只是将其替换为布尔值。您可能想要替换状态的特定部分,例如...

return {...state, submitted: false}