关于sotre树里面解构不太理解

来源:7-5 自定义组件实现列表Item【组件封装】

慕函数0052205

2020-01-20

popular里面的store树:
java:{
items:[],
isLoading:false
},
ios:{
items:[],
isLoading:false
}

reducer里面:
case Types.POPULAR_REFRESH_SUCCESS:
return {
…state,
[action.storeName]: {
…state[action.storeName], //这里不是太理解
items: action.items,
isLoading: false,
},
};

写回答

1回答

CrazyCodeBoy

2020-01-30

switch (action.type) {
    case Types.POPULAR_REFRESH_SUCCESS://下拉刷新成功
        return {
            ...state,
            [action.storeName]: {//这里为了从action中取出storeName并作为{}中的key使用所以需要借助[],否则会js语法检查不通过
                ...state[action.storeName],//这里是为了解构state中action.storeName对应的属性,所以需要用到[]
                items: action.items,//原始数据
                projectModels: action.projectModels,//此次要展示的数据
                isLoading: false,
                hideLoadingMore: false,
                pageIndex: action.pageIndex,
            },
        };

课程源码中有对这块的说明,可以参考下:https://git.imooc.com/coding-304/GitHub_Advanced/src/master/js/reducer/popular/index.js#L26


1
0

RN入门到进阶,打造高质量上线App

解锁React Native开发应用新姿势,React Native新版本热门技术

3144 学习 · 3241 问题

查看课程