react / react/react-native

AppRegistry mishandles keys inherited from Object.prototype

Ouverte
#58,196 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 public AppRegistry stores app and section keys in plain object literals. Looking up an unregistered key such as constructor returns an inherited Object member. Registering the valid string key __proto__ mutates the registry prototype rather than creating an own entry, so the app/section key lists omit it.

The defect is present in React Native 0.87.1 and current main.

Steps to reproduce

Call AppRegistry.getRunnable("constructor"), then register an app or section named __proto__ and inspect getAppKeys() / getSectionKeys().

Expected behavior

Only explicitly registered keys should resolve, and all string app/section keys should be stored as ordinary own entries.

React Native Version

0.87.1 and current main.

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 les points d’entrée publics de AppRegistry nommés dans le rapport : getRunnable(), registerApp ou l’enregistrement de section, ainsi que getAppKeys()/getSectionKeys(). Reproduisez les cas de recherche du constructeur et d’enregistrement de proto, puis examinez comment les clés sont stockées et résolues. Le travail est terminé lorsque les noms hérités non enregistrés ne sont pas résolus et que chaque clé de type string enregistrée apparaît dans la liste de clés correspondante.

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

Évaluation

Stack technique
react-native
Domaine
mobile
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.