Commit a0fdb63
authored
[Fiber][Dev] Relax dom nesting validation when the root is a Document, html tag, or body tag (facebook#32252)
followup to
* facebook#32069
* facebook#32163
* facebook#32224
in react-dom in Dev we validate that the tag nesting is valid. This is
motivated primarily because while browsers are tolerant to poor HTML
there are many cases that if server rendered will be hydrated in a way
that will break hydration.
With the changes to singleton scoping where the document body is now the
implicit render/hydration context for arbitrary tags at the root we need
to adjust the validation logic to allow for valid programs such as
rendering divs as a child of a Document (since this div will actually
insert into the body).1 parent b48e739 commit a0fdb63
File tree
7 files changed
+175
-49
lines changed- packages
- react-dom-bindings/src/client
- react-dom/src/__tests__
7 files changed
+175
-49
lines changedLines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
344 | 344 | | |
345 | 345 | | |
346 | 346 | | |
347 | | - | |
| 347 | + | |
348 | 348 | | |
349 | 349 | | |
350 | 350 | | |
| |||
358 | 358 | | |
359 | 359 | | |
360 | 360 | | |
361 | | - | |
| 361 | + | |
362 | 362 | | |
363 | 363 | | |
364 | 364 | | |
| |||
Lines changed: 19 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
595 | 595 | | |
596 | 596 | | |
597 | 597 | | |
598 | | - | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
599 | 603 | | |
600 | 604 | | |
601 | 605 | | |
| |||
2046 | 2050 | | |
2047 | 2051 | | |
2048 | 2052 | | |
2049 | | - | |
| 2053 | + | |
| 2054 | + | |
| 2055 | + | |
| 2056 | + | |
| 2057 | + | |
2050 | 2058 | | |
2051 | 2059 | | |
2052 | 2060 | | |
| |||
2394 | 2402 | | |
2395 | 2403 | | |
2396 | 2404 | | |
2397 | | - | |
2398 | | - | |
| 2405 | + | |
| 2406 | + | |
| 2407 | + | |
| 2408 | + | |
| 2409 | + | |
| 2410 | + | |
| 2411 | + | |
| 2412 | + | |
| 2413 | + | |
2399 | 2414 | | |
2400 | 2415 | | |
2401 | 2416 | | |
| |||
Lines changed: 62 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
| 74 | + | |
74 | 75 | | |
75 | 76 | | |
76 | 77 | | |
| |||
219 | 220 | | |
220 | 221 | | |
221 | 222 | | |
| 223 | + | |
222 | 224 | | |
223 | 225 | | |
224 | 226 | | |
225 | | - | |
| 227 | + | |
226 | 228 | | |
227 | 229 | | |
228 | 230 | | |
| |||
238 | 240 | | |
239 | 241 | | |
240 | 242 | | |
241 | | - | |
242 | | - | |
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
246 | 246 | | |
247 | 247 | | |
248 | 248 | | |
| 249 | + | |
| 250 | + | |
249 | 251 | | |
250 | 252 | | |
251 | 253 | | |
| |||
279 | 281 | | |
280 | 282 | | |
281 | 283 | | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
282 | 295 | | |
283 | 296 | | |
284 | 297 | | |
| |||
288 | 301 | | |
289 | 302 | | |
290 | 303 | | |
291 | | - | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
292 | 309 | | |
293 | 310 | | |
294 | 311 | | |
| |||
363 | 380 | | |
364 | 381 | | |
365 | 382 | | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
366 | 389 | | |
367 | 390 | | |
368 | 391 | | |
369 | 392 | | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
370 | 399 | | |
371 | 400 | | |
372 | 401 | | |
| |||
393 | 422 | | |
394 | 423 | | |
395 | 424 | | |
396 | | - | |
397 | 425 | | |
398 | 426 | | |
399 | 427 | | |
400 | 428 | | |
401 | 429 | | |
402 | | - | |
403 | | - | |
404 | 430 | | |
405 | 431 | | |
406 | 432 | | |
| |||
412 | 438 | | |
413 | 439 | | |
414 | 440 | | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
415 | 459 | | |
416 | 460 | | |
417 | 461 | | |
| |||
513 | 557 | | |
514 | 558 | | |
515 | 559 | | |
516 | | - | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
517 | 565 | | |
518 | 566 | | |
519 | 567 | | |
| |||
594 | 642 | | |
595 | 643 | | |
596 | 644 | | |
597 | | - | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
598 | 650 | | |
599 | | - | |
| 651 | + | |
600 | 652 | | |
601 | 653 | | |
602 | 654 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
601 | 601 | | |
602 | 602 | | |
603 | 603 | | |
604 | | - | |
605 | | - | |
606 | | - | |
607 | | - | |
608 | 604 | | |
609 | 605 | | |
610 | 606 | | |
| |||
666 | 662 | | |
667 | 663 | | |
668 | 664 | | |
669 | | - | |
670 | | - | |
671 | | - | |
672 | | - | |
673 | 665 | | |
674 | 666 | | |
675 | 667 | | |
| |||
729 | 721 | | |
730 | 722 | | |
731 | 723 | | |
732 | | - | |
733 | | - | |
734 | | - | |
735 | | - | |
736 | 724 | | |
737 | 725 | | |
738 | 726 | | |
| |||
Lines changed: 0 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9004 | 9004 | | |
9005 | 9005 | | |
9006 | 9006 | | |
9007 | | - | |
9008 | 9007 | | |
9009 | 9008 | | |
9010 | 9009 | | |
| |||
10173 | 10172 | | |
10174 | 10173 | | |
10175 | 10174 | | |
10176 | | - | |
10177 | 10175 | | |
10178 | 10176 | | |
10179 | 10177 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
511 | 511 | | |
512 | 512 | | |
513 | 513 | | |
514 | | - | |
515 | | - | |
516 | | - | |
517 | 514 | | |
518 | 515 | | |
519 | 516 | | |
| |||
577 | 574 | | |
578 | 575 | | |
579 | 576 | | |
580 | | - | |
581 | | - | |
582 | | - | |
583 | 577 | | |
584 | 578 | | |
585 | 579 | | |
| |||
0 commit comments