当我访问状态时,为什么要返回undefined?我使用Redux DevTools,并通过操作正确地看到状态更新,但由于某种原因,我无法访问状态值。在访问state.dog时,会返回这类对象,这似乎是错误的:
ct {size: 1, _root: pt, __ownerID: undefined, __hash: undefined, __altered: false}这是我的容器代码:
import { connect } from 'react-redux';
import Message from '../../components/message';
const mapStateToProps = (state) => {
console.log(state.dog.hasBarked);
return {
message: state.dog.hasBarked ? 'Barked' : 'It is quiet',
};
};
export default connect(mapStateToProps)(Message);这是狗减速机:
import * as Immutable from 'immutable';
import { MAKE_BARK } from '../actions/dog';
const initialState = Immutable.Map({
hasBarked: false,
});
const dogReducer = (state: Object = initialState, action: Object) => {
switch (action.type) {
case MAKE_BARK:
return state.set('hasBarked', action.payload);
default:
return state;
}
};
export default dogReducer;发布于 2016-10-29 12:13:04
看来你是在使用不变的。state.dog不是一个简单的js数组,而是一个不可变的映射或列表。您可以本机使用state.dog.toObject().hasBarked访问它。
https://stackoverflow.com/questions/40318817
复制相似问题