Commit 0f69734
committed
Throw on React.Fragment child in TouchableHighlight
Fixes #54933.
TouchableHighlight injects the underlay style onto its single child via
cloneElement. React.Fragment cannot accept that style, so React emits a
generic "Invalid prop `style` supplied to `React.Fragment`" warning and
the highlight effect is silently broken.
Throw an actionable error via invariant naming the component, the
constraint, and the fix (wrap in a View). Matches the class doc, which
already specifies that multiple children must be wrapped in a View.1 parent 5f69a91 commit 0f69734
2 files changed
Lines changed: 40 additions & 0 deletions
File tree
- packages/react-native/Libraries/Components/Touchable
- __tests__
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| |||
304 | 305 | | |
305 | 306 | | |
306 | 307 | | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
307 | 313 | | |
308 | 314 | | |
309 | 315 | | |
| |||
Lines changed: 34 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
395 | 395 | | |
396 | 396 | | |
397 | 397 | | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
398 | 432 | | |
399 | 433 | | |
400 | 434 | | |
| |||
0 commit comments