Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Reentrant structuredClone breaks outer circular references

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

Personne n'a encore pris cette issue.

Évaluation

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

Piste de recherche

Commencez par localiser le React Native structuredClone polyfill et sa gestion de la mémoire pour la détection des cycles. Reproduisez un clone imbriqué à partir d’un getter enumerable avec une référence circulaire externe, puis vérifiez que les appels réentrants utilisent une mémoire indépendante, tandis que le clonage ordinaire conserve son comportement.

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

Description

Needs: Author Feedback Needs: Repro
Description

The React Native structuredClone polyfill reuses one module-global memory map under the assumption that cloning does not invoke user code. Enumerable property getters do execute, however, and can call structuredClone recursively. The inner call's finally clears the outer clone's memory, so later circular references are cloned again instead of pointing to the outer result.

Expected behavior

Each reentrant clone should have independent cycle-detection memory, while ordinary non-reentrant calls may retain the existing reusable-map optimization.

React Native Version

0.87.1 and current main

Affected Platforms

JavaScript runtime - All

Langage dominant
C++
Étoiles
127k
Forks
25.3k
Métriques de merge des PR
Aucune PR mergée en 30 j

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.

Autres issues de react/react-native

Toutes les issues de react/react-native

Issues similaires

Plus d'issues C++

Recevez les nouvelles issues par e-mail

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