首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >剩余-商店数目澄清

剩余-商店数目澄清
EN

Stack Overflow用户
提问于 2016-09-01 12:50:28
回答 1查看 49关注 0票数 0

我使用redux已经有几个星期了,我以前也使用过通量,但是我想确保我使用redux的方式是正确的。到目前为止,我所有的研究都指向有一家专卖店。这很好,但是大多数解释和示例都讨论单个页面应用程序。当应用程序增长到超过1‘单页应用’时会发生什么?

例如,单个页面应用程序的集合,每个应用程序组织为一个模块文件夹,每个应用程序彼此之间没有任何关系。这种情况下,多个商店是一种选择吗?所以每个模块都有自己的存储器,减速机,等等.还是仍然被认为是在所有模块之间共享一个存储的redux方式?

顺便说一下,“单页应用程序”我不是字面意思是1页,而是一个模块,它可以由1-5个共享数据和其他特性的实际页面组成。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-01 12:58:15

有一家商店

这正是Redux的工作方式。你有一个单一的商店和许多行动。每个动作,当调度,更新商店通过减速机。

创建存储时,创建一个单一存储:

代码语言:javascript
复制
import { createStore } from 'redux';
import { render } from 'react-dom';

export default render(
  <Provider store={createStore(...)}>
    ...
  </Provider>
, document.getElementById('...'));

createStore调用返回一个存储区,然后由Provider组件使用它将数据从存储区传递给连接的组件(也称为容器)。

单个页面应用程序的集合,每个应用程序组织成一个模块文件夹,每个应用程序彼此之间没有任何关系。

每个单独的部分都可以使用自己的部分商店。您可以使用combineReducers函数对它们进行划分:

代码语言:javascript
复制
import { createStore } from 'redux';
import { render } from 'react-dom';
import moduleA from './reducers/moduleA';
import moduleB from './reducers/moduleB';
import moduleC from './reducers/moduleC';

const store = createStore(combineReducers({
  moduleA,
  moduleB,
  moduleC
});

export default render(
  <Provider store={store}>
    ...
  </Provider>
, document.getElementById('...'));

并将存储作为对象,它具有与减速器相同的属性。每个减速机现在负责自己的部分状态,因此模块。任何一种减速器,如果操作正确,都不能使状态的一部分与这个减速器负责的部分不同。

你应该看看任何样板,有很多。例如,erikras/react redux-通用-热示例

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39272044

复制
相关文章

相似问题

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