【问题标题】:redux: re-render component after async fetch & document creationredux:在异步获取和文档创建后重新渲染组件
【发布时间】:2018-08-12 02:31:45
【问题描述】:

我有一个组件,在 componentDidMount 上将执行异步 API 数据库获取。

在同一个组件上,用户可以将一个项目添加到集合中。不幸的是,即使新文档已添加到集合中,组件也不会自动重新呈现。如何在显示新文档的同时调用另一个渲染?

【问题讨论】:

  • 您能详细说明一下吗?简单的示例代码,将更好地概述您正在尝试做的事情。

标签: reactjs redux state


【解决方案1】:

如果您的集合是一个数组,则在创建项目时,您应该使用concat 方法而不是push 返回一个新数组,或者通过索引直接访问该数组。

查看此代码:

const myReducer = (state = initState, action) => {
    switch (action.type) {
        case 'FETCH_SUCCESSFUL': return action.data

        case 'NEW_ITEM': return [].concat(state, [action.newItem])

    }
}

当您返回一个新数组时,redux 将知道状态已更改,并且您的组件也会自动更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 2020-03-04
    • 2016-10-29
    相关资源
    最近更新 更多