reactjs - Immer nu este încărcat în proiect (suport IE11)


Lucrez la o aplicație la care aș dori să adaug suport pentru IE11. Am adăugat react-app-polyfill, mdn-polyfills și core-js ca dependențe. Am avut puține probleme să o rulez pe Edge (versiunea Legacy) la început, dar acum funcționează. Folosesc Immer, care pare să fie cauza pentru care IE11 nu funcționează.

Motivul pentru care gândesc astfel este eroarea [Immer] minified error nr: 19 ES5. Găsiți eroarea completă la: https://github.com/immerjs/immer/blob/master/src/utils/errors.ts. Eroarea este „Pluginul nu este încărcat”. Parcurgând documentația Immer, aceasta specifică apoi să se folosească funcția enableES5().

Am apelat enableES5() în index.tsx, chiar l-am mutat și în partea de sus, imediat sub importurile polyfills, dar eroarea persistă. M-am chinuit cu asta de câteva ore, dar nu reușesc să îmi dau seama ce este în neregulă sau dacă îmi lipsește ceva crucial.

Răspuns #1

Asigurați-vă că folosiți cea mai recentă versiune a immer 7.x

Încearcă asta:

import {enableES5} from "immer"
enableES5()

Răspunsul #2

După ore întregi de testare și încercări de a afla care era problema, apoi am dat peste o postare privind create-react-app de la un dezvoltator pentru Immer. Create-react-app are react-scripts, care are o dependență de react-dev-util, care la rândul său are o dependență de Immer. Problema este că dependența este extrem de învechită (v1.10). Dezvoltatorii de la Immer au tot insistat ca CRA să actualizeze versiunea, și au făcut-o, dar încă nu a fost lansată. Deci, pentru moment, soluția pare să fie că revenirea la Immer v5.3.6 mi-a rezolvat problema.