当前位置: 首页 > 知识库问答 >
问题:

不同层次app状态结构下减速器的可重用性

景阳平
2023-03-14
    null

    const updateUser = (id, subAction) => ({
        type: UPDATE_USER,
        payload: {
            id,
            subAction
        }
    })


    function users(state = List(), action) {
        switch (action.type) {

            //...

            case UPDATE_USER:
                const { id, subAction } = action.payload
                const index = state.findIndex(user => user.id == id)

                return state.updateIn(
                [index, 'photos'],
                state => photos(state, subAction)
                )
                break

            //...

            default:
                return state
        }
    }

这是我问题的正确解决方案吗?

共有1个答案

韦衡
2023-03-14

为什么不简单地在用户发起的地方分派这两者呢?

dispatch(updateUser(id));
dispatch(addPhoto(url));

我以前没见过你用的这种模式。一个减速器负责另一个减速器的状态,这似乎有点不寻常。在它们之间创建一种感觉不太纯粹的依赖关系。我甚至不确定一个减速器是否能够/能够看到另一个减速器的状态。

所以我不知道“正确”,但我想说用你的方式做是不理想的。我会尝试按顺序或在某种元操作中分配这两个操作,这种元操作处理嵌套更新并将操作分配给多个简化程序。

 类似资料:
  • 我们正在创建一个REST API,目前我们有两种方法来定义资源。 基本上,我们有、和,其中一个有n个和一个有n个。 分层方法 该层次结构在URI中可见 要搜索所有图像,我们需要一个搜索资源 平进路 我们还需要考虑移动和修改。

  • 问题内容: 我具有实现的接口层次结构。我想使用不可变的对象,所以我想设计一些类来方便地构造这些对象。但是,我有很多接口,并且我不想在每种类型的子生成器中重复构建s 的代码。 因此,假设以下定义: 我怎样才能有效地实施的建设者和?他们应支持以下操作: 和 我不想为每个子生成器实现一个特殊情况。 编辑以添加第二个属性,以澄清使用简单的泛型无法做到这一点。我不是在寻找一种方式来组合和-我正在寻找一种方式

  • 我想将Nightwatch的页面对象系统用于我们应用程序中使用的UI组件。因为nightwatch有自己的读取/初始化它们的方式,所以我看不到正确扩展/重用它们的方法。 例如,我想要一个“日期字段”的DateInputPageObject。它将识别标签、输入、日期选择器等。 我会在任何带有日期输入字段的页面上使用它。 我还想扩展页面对象。例如,。将为所有模态元素定义选择器-覆盖、容器、关闭按钮等。

  • 问题内容: 我已经做了一些Google搜索,但到目前为止,我还没有找到任何能回答我有关CSS顺序或重要性的问题的信息。 例如,内联优先于外部。得到它了。在外部添加!important可以覆盖内联。而且,从我曾经教过的所有知识来看,较新的样式会覆盖较早的样式。所以: 将呈现14pt的字体大小。但这并非总是如此。有时我想定义如下样式: 然后在CSS中: 但这并不总是有效。在哪里可以看到重要性顺序,因为

  • 在Tableau中,可以构建层次结构以可视化数据。可以通过以下步骤在Tableau中创建它: 例如,考虑数据源,例如Sample-Superstore,以及它的维度和度量。 第1步: 首先转到工作表。然后, 选择一个维度,然后右键单击该维度以创建层次结构。 转到“层次结构(Hierarchy)”选项。 并且,单击下面屏幕截图中显示的“创建层次结构(Create Hierarchy)”选项。 第2步

  • 零售商店的正确模式是什么?公司从商店销售产品。 这似乎违反了我对OOP所知的全部知识。通过层次结构向下传递数据的方法--在对象之间复制参数?我错过了什么?

  • 本规范定义了一个用于部署和打包用途的,可存在于开放文件系统、归档文件或一些其他形式中的层次结构。建议 servlet 容器支持这种结构作为运行时表示形式,但不是必须的.