javascript - Redux 不更新 IE11 中的属性

标签 javascript reactjs redux

我在 Internet Explorer 11 中遇到了一个关于 React 和 Redux 的奇怪问题。

我使用 redux & thunk+promise 中间件创建了一个 React 应用程序。所述应用程序在 Chrome、Safari 和 Firefox 中运行完全正常,但在 Internet Explorer 中运行时,React/Redux 不会更新 11 Prop 。

在检查网络选项卡时,我可以看到 Http 请求被触发得很好。在 Redux reducers 中记录此结果也给出了预期的结果。但似乎返回新状态并没有更新 Prop 。或者触发任何组件的重新渲染。 (仅在 IE 中)。

我尝试谷歌查看是否有人在同一条船上,但我找不到任何符合我的问题的东西。

TLDR;返回状态后,Redux 不更新 Prop 并触发组件的重新渲染/更新。 (仅在 IE11 中)。

reducer :

const customers = (state = {customers: []}, action) => {
    switch (action.type) {
        case GET + _FULFILLED:
            return Object.assign({}, state, {
                customers: action.payload
            });
            break;
    }
}

action.payload 有正确的值;返回似乎没有更新 Prop 。

控制台也没有错误

已解决 我必须添加一个 object.assign polyfill;在使用 babel 后不知道这是必需的

最佳答案

这个问题是因为 IE11 对 ES6 的支持很差。我发现您需要填充 PromisesObject.assign

至于 Babel,这可能是因为 Babel 只将非标准代码转译为标准代码。大多数浏览器已经默认实现了 Promises/Object.assign 所以我猜最新的 Babel 版本不再需要将它转换为 ES5 代码

关于javascript - Redux 不更新 IE11 中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35913711/

相关文章:

javascript - 无法取消选中和选中单个项目

javascript - Angular JS - 解决自定义函数的依赖关系

reactjs - 如何正确地将相同的 Prop 传递给多个组件?

javascript - AngularJS ng-view 不显示 View

reactjs - 如何在react组件中访问url参数

reactjs - 如何折叠 react 表中的其他展开行

javascript - 为什么每个 Redux 中间件都可以调用 next(action),它不会多次调度一个 action 吗?

javascript - 如何正确处理 react 服务器端渲染中的 window=undefined 错误

javascript - 获取 JSON 字符串值的最佳方法是什么?

javascript - 在materialize css中初始化Slider