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

[Strict TS API] NativeSyntheticEvent doesn't match BaseSyntheticEvent

Offen
#57,910 4 Kommentare 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
64/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
react-native, typescript
Bereich
api, mobile

Rechercherichtung

Beginne mit dem TextInput onSubmitEditing-Typ und der von React Native 0.87 verwendeten NativeSyntheticEvent-Definition. Reproduziere die strikte TypeScript-Zuweisung aus dem Issue und vergleiche sie anschließend mit der Typisierung von Reacts BaseSyntheticEvent. Erledigt ist dies, wenn der gemeldete Handler kompatibel ist, ohne die relevanten Event-Typen abzuschwächen, und eine Regression-Prüfung für das gezeigte Beispiel vorhanden ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Needs: Triage :mag: p: Callstack Partner
Description

My team uses unified codebase that share web and native code, so that is why a BaseSyntheticEvent event was used here.

import type {BaseSyntheticEvent} from 'react';

<TextInput onSubmitEditing={
  (event: BaseSyntheticEvent) => {
        event.bubbles; // boolean | undefined 
         // error: BaseSyntheticEvent require `boolean` only type
  }} 
/>

this issue doesn't not exist in prev. RN versions

Steps to reproduce

see above

React Native Version

0.87.0

Affected Platforms

Runtime - Android, Runtime - iOS

Output of npx @react-native-community/cli info
System:
  OS: macOS 26.5
  CPU: (11) arm64 Apple M3 Pro
  Memory: 1.27 GB / 36.00 GB
  Shell:
    version: 4.0.1
    path: /opt/homebrew/bin/fish
Binaries:
  Node:
    version: 24.13.1
    path: /usr/local/bin/node
  Yarn:
    version: 3.6.4
    path: /opt/homebrew/bin/yarn
  npm:
    version: 11.8.0
    path: /usr/local/bin/npm
  Watchman:
    version: 2025.09.01.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.16.2
    path: /Users/xdxd/.rbenv/shims/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 25.2
      - iOS 26.2
      - macOS 26.2
      - tvOS 26.2
      - visionOS 26.2
      - watchOS 26.2
  Android SDK:
    API Levels:
      - "34"
      - "35"
      - "36"
    Build Tools:
      - 33.0.1
      - 34.0.0
      - 35.0.0
      - 36.0.0
      - 37.0.0
    System Images:
      - android-34 | Android TV ARM 64 v8a
      - android-34 | Google TV ARM 64 v8a
      - android-35 | Google APIs ARM 64 v8a
      - android-35 | Google Play ARM 64 v8a
      - android-36 | Android TV ARM 64 v8a
      - android-36 | Google TV ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: 2026.1 AI-261.23567.138.2611.15646644
  Xcode:
    version: 26.2/17C52
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.13
    path: /usr/bin/javac
  Ruby:
    version: 2.6.10
    path: /Users/xdxd/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 20.2.0
    wanted: 20.2.0
  react:
    installed: 19.2.3
    wanted: 19.2.3
  react-native:
    installed: 0.87.0
    wanted: 0.87.0
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: Not found
  newArchEnabled: false
Stacktrace or Logs
error TS2322: Type '(event: BaseSyntheticEvent) => void' is not assignable to type '(e: Readonly<{ bubbles: boolean | undefined; cancelable: boolean; currentTarget: number | ReactNativeElement; defaultPrevented: boolean; dispatchConfig: Readonly<{ registrationName: string; }>; ... 10 more ...; type: string; }>) => unknown'.
  Types of parameters 'event' and 'e' are incompatible.
    Type 'Readonly<{ bubbles: boolean | undefined; cancelable: boolean; currentTarget: number | ReactNativeElement; defaultPrevented: boolean; dispatchConfig: Readonly<{ registrationName: string; }>; ... 10 more ...; type: string; }>' is not assignable to type 'BaseSyntheticEvent<object, any, any>'.
      Types of property 'bubbles' are incompatible.
        Type 'boolean | undefined' is not assignable to type 'boolean'.
          Type 'undefined' is not assignable to type 'boolean'.

27       <TextInput onSubmitEditing={(event: BaseSyntheticEvent) => {
MANDATORY Reproducer

https://github.com/retyui/repo_with_virus_to_steal_corporate_data_so_you_get_fired_and_spend_the_rest_of_your_life_in_prison

Screenshots and Videos

...

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.