react / react/react-native

structuredClone invokes custom Map and Set iterators

Ouverte
#58,222 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Needs: Author Feedback Needs: Repro
Langage dominant
C++
Étoiles
127k
Forks
25.3k
Merge moyen
1 j 23 h
PR mergées (30 j)
4

Description

Description

The React Native structuredClone polyfill traverses Map and Set values with for...of. An own Symbol.iterator override is therefore executed and can change the cloned contents or abort cloning, even though structured cloning should read the built-in collection data from internal slots.

Expected behavior

Map and Set cloning should ignore user iterator overrides and clone their real built-in entries, matching native structuredClone.

React Native Version

0.87.1 and current main

Affected Platforms

JavaScript runtime - All

Guide de contribution

Ouvrir le guide de contribution

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.

Piste de recherche

Commencez par le polyfill React Native structuredClone et examinez comment les valeurs de Map et Set sont parcourues. Reproduisez le problème avec des remplacements propres de Symbol.iterator et comparez le résultat avec structuredClone natif. La tâche est terminée lorsque le clonage utilise les entrées intégrées, ignore ces remplacements et préserve le comportement attendu sur les environnements d’exécution JavaScript.

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

Évaluation

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

Recevez les nouvelles issues par e-mail

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