Je rencontre une question étrange concernant Reag & Redux dans Internet Explorer 11.
J'ai créé une application réagissante avec Redux & Thunk + PRESS PRESS PRESPRESS Midassware. Ladite application fonctionne complètement en chrome, safari et firefox, mais lorsqu'il est en cours d'exécution dans Internet Explorer 11, les accessoires ne sont pas mis à jour par REAC / REDUX. P>
Tout en vérifiant l'onglet Réseau, je peux voir que les demandes HTTP sont en cours tiré juste bien. L'enregistrement du résultat de celui-ci dans les réducteurs REDUX donne également le résultat attendu. Mais il semble que le retour du nouvel état ne met pas à jour les accessoires. Ou déclencher tout re-rendu de composants du tout. (Seulement dans IE). P>
J'ai essayé Google de voir s'il y avait des gens dans le même bateau, mais je n'ai pas pu trouver de faire correspondre mon problème. P>
TLDR fort>; Redux ne met pas à jour des accessoires et déclencher la ré-rendue / mise à jour des composants après son état de retour. (seulement dans IE11). p> réducteur: p> action.payload a la valeur correcte; Le retour ne semble pas mettre à jour les accessoires. p> Aucune erreur dans la console p> résolu em> strong> je devais ajouter un objet .Assign Polyfill; Je ne savais pas que c'était nécessaire après avoir utilisé Babel P> P>
3 Réponses :
IE 11 ne prend pas en charge les promesses, vous devrez utiliser un polyfill comme -> https: / /github.com/stefanpenner/es6-Pomise P>
Ce n'est pas le problème; Comme je l'ai dit, les demandes HTTP sont bien tirées. J'utilise déjà un polyfill pour cela :)
Ce problème est dû au pauvre ES6 Support IE11. J'ai constaté que vous avez besoin de Polyfill à la fois Quant à Babel, il est probablement due à Babel Transpiling uniquement de code non standard au code standard. La plupart des navigateurs implémentent déjà promesses code> et objet.Assign code>. P>
promesses code> / objet.Assign code> Par défaut, donc je suppose que les dernières versions Babel n'ont pas besoin de le transpercer à l'ES5 Code plus P>
J'ai trouvé que j'avais aussi besoin d'un polyfill pour le symbole. Importation du Babel-Polyfill au point d'entrée à mon code était la clé.
Le Babel-Polyfill a correctement fixé tous les problèmes ci-dessus IE11 pour moi, mais le re-rendu n'est toujours pas déclenché.
a eu un problème similaire, mais la solution n'était pas liée à la polyfill (Babel-Polyfill), car je les avais déjà importées, mais à ma configuration d'instance Axios. J'ai trouvé la réponse à mon problème ici . Fondamentalement, tout ce que je devais faire était de désactiver la mise en cache en ajoutant l'en-tête suivant dans ma configuration d'instance Axios:
p>
const instance = axios.create({
headers: {
Pragma: "no-cache"
}
});
J'avais rencontré ce qui semblait être ce problème. Il s'est avéré que je devais appliquer le cache en panne sur mes demandes Ajax.