Javascript 未捕获(承诺中)TypeError:无法读取未定义的属性

Javascript 未捕获(承诺中)TypeError:无法读取未定义的属性,javascript,reactjs,redux,Javascript,Reactjs,Redux,我有一个传奇故事,它向商店发送了一个签名动作 const { status, userDetails: {token} } = yield take(SIGNIN); yield put({ type:SIGNIN, payload: {status, token} }); 在减速器中我能够记录有效负载,它包含状态和令牌的属性和值 authenticated: createReducer(userAuthenticated, { [SIGNIN](state, action) {

我有一个传奇故事,它向商店发送了一个签名动作

const { status, userDetails: {token} } = yield take(SIGNIN);
yield put({ type:SIGNIN, payload: {status, token} });
减速器中
我能够记录
有效负载
,它包含
状态和令牌的属性和值

authenticated: createReducer(userAuthenticated, {
    [SIGNIN](state, action) {
        console.log(action.payload);
    }
})

但是,当我尝试通过执行
console.log(action.payload.status)
访问
payload对象中的属性时,我得到
Uncaught(in promise)TypeError:无法读取未定义的属性“status”。我们不应该访问reducer中payload对象的属性吗?

您能否显示
console.log(action.payload)的输出?这是console.log(action.payload)
对象{状态:true,标记:“eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkI…DE1fQ.KAK_pfh2aajcuw5wtfhc8oogjsea4o4vv6xlwsrkyi”
您是在减速器中运行console.log(action.payload.status)还是在其他地方?此外,背对背地“执行”和“执行”一个操作有点不寻常,通常不需要传奇故事就可以做到这一点,但应该在操作生成器中处理格式,或者在if条件下编写console.log(),因为可能会在没有有效负载的情况下调用reducer。Try
[sign](state,action){if(action.payload){console.log(action.payload.token,action.payload.status);}}
您能显示
console.log(action.payload)的输出吗?这是console.log(action.payload)
对象{状态:true,标记:“eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkI…DE1fQ.KAK_pfh2aajcuw5wtfhc8oogjsea4o4vv6xlwsrkyi”
您是在减速器中运行console.log(action.payload.status)还是在其他地方?此外,背对背地“执行”和“执行”一个操作有点不寻常,通常不需要传奇故事就可以做到这一点,但应该在操作生成器中处理格式,或者在if条件下编写console.log(),因为可能会在没有有效负载的情况下调用reducer。请尝试
[SIGNIN](状态,操作){if(action.payload){console.log(action.payload.token,action.payload.status);}