首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当状态发生变化时,为什么mapStateToProps返回空对象?

当状态发生变化时,为什么mapStateToProps返回空对象?
EN

Stack Overflow用户
提问于 2019-02-11 00:02:13
回答 1查看 681关注 0票数 2

我创建动作

代码语言:javascript
复制
export const KIDS_LOAD = 'KIDS_LOAD';
export const kidsLoad = (data) => ({
    type: KIDS_LOAD,
    payload: data ,
});

我创建了减速器

代码语言:javascript
复制
import { KIDS_LOAD } from '../customActions/KidsActions';

export default (state = {}, { type, payload }) => {
    if (type === KIDS_LOAD) {
                return {    ...state,   
                    img: payload.img,
                    kidsInfo: payload.kidsInfo
                };
    }
    return state;
}

我派人行动

代码语言:javascript
复制
componentWillMount() {
                this.props.setSidebarVisibility(true);
                const { kidsLoad, record } = this.props;

                kidsLoad({
                    img : 'https://s18670.pcdn.co/wp-content/uploads/care_about_grades_middle_school.jpg',
                    kidsInfo: {
                        kidName : 'Sasha',
                        kidAge : '19',
                        kidHandType : 'Right',
                        kidGender : 'Boy', 
                    }
                })

                console.log( this.props.kidsTabData)

        }

I映射状态

代码语言:javascript
复制
const mapStateToProps = state => ({
        kidsTabData: state.kidsReducer,
        isLoading: state.admin.loading > 0,
    });
export default connect(mapStateToProps, { setSidebarVisibility, kidsLoad })(withStyles(styles)(MyLayout));

存储已变异

但是console.log( this.props.kidsTabData)返回空object {}。

你能说出我哪里错了吗?在我看来,所有的东西都能正确地放到商店里,但initialState却能拿到道具。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-11 01:51:40

redux操作kidsLoad是异步的。在componentDidUpdate中试用console.log

代码语言:javascript
复制
componentDidUpdate(){
    console.log(this.props.kidsTabData)
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54618263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档