callstack / callstack/react-native-paper
Dialog.Actions spreads compact prop into Fragment in React Native 0.81 / React 19, causing error when dismissing Dialog
- 主要语言
- TypeScript
- 星标
- 14.5k
- 派生
- 2.2k
- 平均合并
- 5 天 23 小时
- 30 天内合并 PR
- 12
描述
### Current behaviour
When dismissing a Dialog (via any method — Cancel button inside Dialog.Actions, swipe-back gesture, or tapping outside the dialog), React Native 0.81 (with React 19.1.0) throws the following console error:
Invalid prop `compact` supplied to `React.Fragment`.
React.Fragment can only have `key` and `children` props.
### Expected behaviour
Dismissing a Dialog should not cause console errors. Props like compact should not be passed to React.Fragment.
### How to reproduce?
1. Create a Dialog with Dialog.Actions containing two Buttons, e.g.:
`
Title
Message
<>
Cancel
OK
`
2. Open the dialog.
3. Dismiss the dialog by:
- Pressing the Cancel button
- Swiping back (Android)
- Tapping outside the dialog container
4. Observe the console error.
### Preview
Console error log on dismiss:
console.js:661 Invalid prop `compact` supplied to `React.Fragment`.
React.Fragment can only have `key` and `children` props.
### What have you tried so far?
- Replaced <>... with ... → fixes the issue.
- Verified no compact prop is explicitly passed from my code.
- Confirmed that error appears only after upgrading to React Native 0.81.0 (React 19.1.0).
- Tried using React.Fragment explicitly → same error.
- This suggests Dialog.Actions is injecting compact into children.
### Your Environment
| software | version
| --------------------- | -------
| ios | x
| android | 10
| react-native | 0.81.0
| react-native-paper | ^5.13.1
| node | 22.11.0
| npm or yarn | 1.22.22(yarn)
| expo sdk | Not using Expo(using rn-cli)
贡献指南
调研方向
首先检查 Dialog.Actions 的实现,以及 Dialog 被关闭时它如何处理子元素。使用 React Native 0.81、React 19.1.0 和上文所述由 fragment 包裹的 Buttons 重现该问题。完成的标准是,关闭 Dialog 时不再记录 React.Fragment 的 compact-prop 错误,同时保留双按钮示例。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- react-native, typescript
- 领域
- mobile
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100