好吧,我已经构建了几个星期的 Web 应用程序,一切都很好。我到达了我必须在 Internet Explorer 中测试的部分,并且在出现的所有事情中(除了一个之外所有事情都是固定的),不支持 Object.entries()。
我一直在做一些研究并试图想出一个简单的替代方案,但一点运气都没有。
更具体地说,我从 API 中获取一个对象,以填充 <select></select>
字段的选项我必须过滤一些信息,就像这样:
Object.entries(this.state.filterInfo.sectorId).map(this.eachOption)
// Function
eachOption = ([key, val], i) => {
return(
<option value={val} key={i}>{val}</option>
);
}
因此,除了 Internet Explorer 之外,一切正常。问题是,在这个特定的组件中,我渲染了 30 多个 <select></select>
字段。如果有一个不需要我重建一切的解决方案,那就太棒了。
有一个简单的解决方案吗?解决这个问题的方法?
提前致谢。
原文由 Pablo Zehle 发布,翻译遵循 CC BY-SA 4.0 许可协议
当您想在旧浏览器中使用更新的 API 时,通常首先要研究的是是否有简单的 polyfill。而且,果然有一个非常简单的 polyfill for
Object.entries()
显示在 MDN 文档站点 上: