Javascript Redux configureStore(Redux工具包)中的扩展语法

Javascript Redux configureStore(Redux工具包)中的扩展语法,javascript,reactjs,redux,redux-toolkit,Javascript,Reactjs,Redux,Redux Toolkit,我正在使用createreact应用程序--模板redux我想在configureStore reducer中使用扩展语法 像这样: 从'@reduxjs/toolkit'导入{configureStore}; 从“/a/slice”导入减速机; 从“/b/slice”导入数据转换器; 从“/c/slice”导入cReducer; 导出默认配置存储({ 减速器:{ a:阿雷杜克, b:布列多克, …教士 }, }); 在cReducer中,它与slice.js和utils.js一起位于自己的文

我正在使用
createreact应用程序--模板redux
我想在
configureStore reducer
中使用扩展语法

像这样:

从'@reduxjs/toolkit'导入{configureStore};
从“/a/slice”导入减速机;
从“/b/slice”导入数据转换器;
从“/c/slice”导入cReducer;
导出默认配置存储({
减速器:{
a:阿雷杜克,
b:布列多克,
…教士
},
});
cReducer
中,它与
slice.js
utils.js
一起位于自己的文件夹中,我有一些属性,我不想在存储中的单独对象中包含这些属性,但我希望它位于存储的根目录中

如何实现这一点?

从ES2018(ES9)开始,您可以做到:

import cReducer from './c/slice';

const { dontWantThis, dontWantThis2, ...restOfcReducer } = cReducer;

export default configureStore({
  reducer: {
    a: aReducer,
    b: bReducer,
    ...restOfcReducer
  },
});
查看本文了解更多信息:

从ES2018(ES9)开始,您可以执行以下操作:

import cReducer from './c/slice';

const { dontWantThis, dontWantThis2, ...restOfcReducer } = cReducer;

export default configureStore({
  reducer: {
    a: aReducer,
    b: bReducer,
    ...restOfcReducer
  },
});

查看本文了解更多信息:

您的问题的意图不清楚。您在排列使用或如何组合存储对象方面有问题吗

以下是一些基于假设的解决方案:

  • 如果您想直接在
    configureStore
    中查看属性
    prop1
    prop2
    。只需引用它们并将它们添加到存储的根级别

    import aReducer from './a/slice';
    import bReducer from './b/slice';
    import cReducer from './c/slice';
    
    const {prop1, prop2} = cReducer;
    
    export default configureStore({
      reducer: {
        a: aReducer,
        b: bReducer,           
      },   
        prop1,
        prop2,       
    }); 
    
  • 如果根是指
    reducer
    对象中的

    import aReducer from './a/slice';
    import bReducer from './b/slice';
    import cReducer from './c/slice';
    
    const {prop1, prop2} = cReducer;
    
    export default configureStore({
      reducer: {
        a: aReducer,
        b: bReducer,
        prop1,
        prop2,
      },          
    });
    
  • 您还可以将道具别名为:

        const {prop1, prop2} = cReducer;
        
        export default configureStore({
          reducer: {
            a: aReducer,
            b: bReducer,            
          },     
           c: prop1,
           d: prop2,     
        });
    
    注意:顺便说一句,如果您想在对象中也添加
    cReducer
    ,您也可以简单地添加它,就像您已经添加的那样

    如果您希望添加
    cReducer
    的道具子集,可以使用
    lodash
    省略
    函数组合一个新对象。看


    并使用商店中没有的
    导入器。

    您的问题的意图不清楚。您在排列使用或如何组合存储对象方面有问题吗

    以下是一些基于假设的解决方案:

  • 如果您想直接在
    configureStore
    中查看属性
    prop1
    prop2
    。只需引用它们并将它们添加到存储的根级别

    import aReducer from './a/slice';
    import bReducer from './b/slice';
    import cReducer from './c/slice';
    
    const {prop1, prop2} = cReducer;
    
    export default configureStore({
      reducer: {
        a: aReducer,
        b: bReducer,           
      },   
        prop1,
        prop2,       
    }); 
    
  • 如果根是指
    reducer
    对象中的

    import aReducer from './a/slice';
    import bReducer from './b/slice';
    import cReducer from './c/slice';
    
    const {prop1, prop2} = cReducer;
    
    export default configureStore({
      reducer: {
        a: aReducer,
        b: bReducer,
        prop1,
        prop2,
      },          
    });
    
  • 您还可以将道具别名为:

        const {prop1, prop2} = cReducer;
        
        export default configureStore({
          reducer: {
            a: aReducer,
            b: bReducer,            
          },     
           c: prop1,
           d: prop2,     
        });
    
    注意:顺便说一句,如果您想在对象中也添加
    cReducer
    ,您也可以简单地添加它,就像您已经添加的那样

    如果您希望添加
    cReducer
    的道具子集,可以使用
    lodash
    省略
    函数组合一个新对象。看


    并使用商店中没有的
    creducer。

    没有“”。是的,你的东西怎么了?你能发布你的
    c/slice
    文件吗没有“”。是的,你的东西怎么了?你能发布你的
    c/slice
    文件吗。我根本没有在商店中获得
    restOfcReducer
    对象。如果您使用的是最新的create react应用程序,它应该附带此功能。尝试使用
    npx create-react应用程序创建您的项目--模板重排
    以确保使用最新的create react应用程序version@Zrna你不应该,你应该在你的商店里得到这个对象的属性,这是行不通的。我根本没有在商店中获得
    restOfcReducer
    对象。如果您使用的是最新的create react应用程序,它应该附带此功能。尝试使用
    npx create-react应用程序创建您的项目--模板重排
    以确保使用最新的create react应用程序version@Zrna你不应该,你应该在你的商店里得到这个对象的属性。