Bug: TextDecoder doesn’t exist in React Native environment

Ouverte
#13 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
55/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
javascript, react-native
Domaine
mobile-dev

Piste de recherche

Commencez par lire node_modules/uint8array-tools/src/mjs/browser.js et reproduisez l’erreur TextDecoder manquante dans l’environnement React Native 0.79.0 iOS ou Android indiqué. Vérifiez comment le package text-encoding peut être utilisé sans affecter le comportement du navigateur ou de Node.js ; le travail est terminé lorsque le package fonctionne sur les deux plateformes sans l’erreur d’exécution.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

When using uint8array-tools in a React Native 0.79.0 project, the following error occurs at runtime:
Uncaught Error: Property 'TextDecoder' doesn't exist

browser.js:12:21
const DECODER = new TextDecoder();
                 ^ Property 'TextDecoder' doesn't exist

Affected file:
node_modules/uint8array-tools/src/mjs/browser.js

Possible Cause

React Native does not provide TextEncoder or TextDecoder in the global environment.
As a result, libraries that depend on them (like this one) will throw errors when used outside of Node.js or browsers.

This can be mitigated by adding a small polyfill using the text-encoding
package.

Suggested Fix:

Add a conditional polyfill at the top of browser.js (or detect the React Native environment and import text-encoding only when needed).

import 'text-encoding'

Environment

React Native: 0.79.0

uint8array-tools: latest npm version

Platform: iOS (also occurs on Android)

Langage dominant
JavaScript
Étoiles
1
Forks
3
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.