ionic-team / ionic-team/ionic-framework

bug: IonTabs throws when a Fragment contains one IonRouterOutlet

Aperta Adatta ai principianti
#31,410 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
triage
Lingua principale
TypeScript
Stelle
52.7k
Fork
13.3k
Merge medio
1g 15h
PR unite (30g)
51

Descrizione

### Prerequisites

- [x] I have read the contributing guidelines.
- [x] I agree to follow the Code of Conduct.
- [x] I searched existing issues without finding this problem.

### Ionic Framework Version

v8.x, v9.x, Nightly

### Current Behavior

When `IonRouterOutlet` is the only child of a React Fragment passed to `IonTabs`, rendering throws:

```text
TypeError: Cannot read properties of undefined (reading 'type')
```

`IonTabs` treats the Fragment's children as an array, but React stores a single child as an element.

### Expected Behavior

`IonTabs` should render when `IonRouterOutlet` is wrapped in a single-child Fragment.

### Steps to Reproduce

1. Clone the reproduction.
2. Run `npm install` and `npm run dev`.
3. Open the app.

### Code Reproduction URL

https://github.com/Benziza/ion-tabs-fragment-repro

### Ionic Info

```text
Ionic CLI : 7.2.1
Ionic Framework : @ionic/react 9.0.1
NodeJS : v25.6.0
npm : 11.12.1
OS : Windows 10
```

### Additional Information

Removing the Fragment allows the same app to render.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start with the IonTabs implementation and reproduce the failure using the linked app with npm install and npm run dev. Confirm the fix by rendering an IonRouterOutlet as the only child in a React Fragment passed to IonTabs without the TypeError.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
react, typescript
Ambito
frontend
Tipo di issue
Bug
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
72/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.