Nic*_*ijn 11 javascript reactjs redux
我在Internet Explorer 11中遇到了关于React和Redux的奇怪问题.
我用redux&thunk + promise中间件创建了一个React应用程序.所说的应用程序在Chrome,safari和firefox中完全正常,但是当在Internet Explorer 11中运行时,React/Redux不会更新道具.
在检查网络选项卡时,我可以看到Http请求被解雇了.在Redux Reducer中记录此结果也会得到预期的结果.但似乎返回新状态不会更新道具.或者根本触发任何重新渲染组件.(仅限IE).
我试过谷歌,看看是否有人在同一条船上,但我找不到任何匹配我的问题.
TLDR ; Redux在返回状态后不更新道具并触发组件的重新渲染/更新.(仅限IE11).
减速器:
const customers = (state = {customers: []}, action) => {
switch (action.type) {
case GET + _FULFILLED:
return Object.assign({}, state, {
customers: action.payload
});
break;
}
}
Run Code Online (Sandbox Code Playgroud)
action.payload具有正确的值; 返回似乎没有更新道具.
控制台中也没有错误
已解决我必须添加一个object.assign polyfill; 不知道使用babel后是否需要
这个问题是因为IE11的ES6支持不佳.我发现,你需要填充工具都Promises
和Object.assign
.
至于Babel,可能是因为Babel只将非标准代码转换为标准代码.大多数浏览器已默认实现Promises
/ Object.assign
所以我猜最新的Babel版本不再需要将其转换为ES5代码
归档时间: |
|
查看次数: |
7179 次 |
最近记录: |