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);}