詳解React項(xiàng)目中碰到的IE問題
最近接手一個(gè)React項(xiàng)目,在IE下碰到了倆問題
IE11報(bào)錯(cuò)如下:

跟蹤一下之后,發(fā)現(xiàn)是一些其他的npm包里面用到了startsWith這個(gè)方法,可以自己polyfill一下:
if (!String.prototype.startsWith) {
String.prototype.startsWith = function (search, pos) {
return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search
}
}
不過加prototype的方法畢竟不好,可以通過引入@babel/polyfill解決,在入口文件中引入import '@babel/polyfill';
IE11問題解決后,IE10又出問題了。。。

犯了stackoverflow和github的很多帖子之后,在這個(gè)帖子里找到,發(fā)現(xiàn)是Object.setPrototypeOf的問題,Object.setPrototypeOf說是支持了IE9-11, 實(shí)際在源碼里只實(shí)現(xiàn)了11+(https://github.com/paulmillr/es6-shim/blame/master/README.md#L78)
解決辦法可以是在polyfill url后加上excludes=Object.setPrototypeOf, 或者自己實(shí)現(xiàn)Object.setPrototypeOf方法,我這里引入了一個(gè)庫setprototypeof,然后在入口文件中加上Object.setPrototypeOf = require('setprototypeof');
其實(shí)這個(gè)庫里的實(shí)現(xiàn)代碼非常少, 可以簡單看下
'use strict'
/* eslint no-proto: 0 */
module.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties)
function setProtoOf (obj, proto) {
obj.__proto__ = proto
return obj
}
function mixinProperties (obj, proto) {
for (var prop in proto) {
if (!obj.hasOwnProperty(prop)) {
obj[prop] = proto[prop]
}
}
return obj
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
新建的React Native就遇到vscode報(bào)警解除方法
這篇文章主要為大家介紹了新建的React Native就遇到vscode報(bào)警解除方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
詳解在React項(xiàng)目中安裝并使用Less(用法總結(jié))
這篇文章主要介紹了詳解在React項(xiàng)目中安裝并使用Less(用法總結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
react中使用redux-persist做持久化儲存的過程記錄
這篇文章主要介紹了react中使用redux-persist做持久化儲存的相關(guān)資料,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-01-01
React競態(tài)條件Race Condition實(shí)例詳解
這篇文章主要為大家介紹了React競態(tài)條件Race Condition實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
react-pdf實(shí)現(xiàn)將pdf文件轉(zhuǎn)為圖片,用于頁面展示
這篇文章主要介紹了react-pdf實(shí)現(xiàn)將pdf文件轉(zhuǎn)為圖片,用于頁面展示問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
react配置webpack-bundle-analyzer項(xiàng)目優(yōu)化踩坑記錄
這篇文章主要介紹了react配置webpack-bundle-analyzer項(xiàng)目優(yōu)化踩坑記錄,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
淺談React組件props默認(rèn)值的設(shè)置
本文主要介紹了淺談React組件props默認(rèn)值的設(shè)置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04

