Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

AppRegistry mishandles keys inherited from Object.prototype

Offen
#58,196 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
68/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
react-native
Bereich
mobile

Rechercherichtung

Beginne bei den im Bericht genannten öffentlichen AppRegistry-Einstiegspunkten: getRunnable(), registerApp oder der Abschnittsregistrierung sowie getAppKeys()/getSectionKeys(). Reproduziere die Fälle zur Konstruktorauflösung und zur proto-Registrierung und untersuche anschließend, wie Schlüssel gespeichert und aufgelöst werden. Erledigt ist die Aufgabe, wenn nicht registrierte geerbte Namen nicht aufgelöst werden und jeder registrierte String-Schlüssel in der entsprechenden Schlüsselliste erscheint.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Needs: Author Feedback Needs: Repro
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.

Vorherrschende Sprache
C++
Sterne
127k
Forks
25.3k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus react/react-native

Alle Issues in react/react-native

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.