Commit 7a7933b
committed
Cloned flag to avoid extra clones in persistent renderer (#27647)
Persistent renderers used the `Update` effect flag to check if a subtree
needs to be cloned. In some cases, that causes extra renders, such as
when a layout effect is triggered which only has an effect on the JS
side, but doesn't update the host components.
It's been a bit tricky to find the right places where this needs to be
set and I'm not 100% sure I got all the cases even though the tests
passed.
DiffTrain build for commit 5fb67fa.1 parent 9fc6c4c commit 7a7933b
File tree
14 files changed
+164
-96
lines changed- compiled-rn
- facebook-fbsource/xplat/js
- RKJSModules/vendor/react
- react-test-renderer/cjs
- react/cjs
- react-native-github/Libraries/Renderer
- implementations
14 files changed
+164
-96
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
14925 | 14925 | | |
14926 | 14926 | | |
14927 | 14927 | | |
14928 | | - | |
| 14928 | + | |
14929 | 14929 | | |
14930 | 14930 | | |
14931 | 14931 | | |
14932 | | - | |
| 14932 | + | |
14933 | 14933 | | |
14934 | 14934 | | |
14935 | 14935 | | |
| |||
15074 | 15074 | | |
15075 | 15075 | | |
15076 | 15076 | | |
15077 | | - | |
| 15077 | + | |
15078 | 15078 | | |
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
9311 | 9311 | | |
9312 | 9312 | | |
9313 | 9313 | | |
9314 | | - | |
| 9314 | + | |
9315 | 9315 | | |
9316 | 9316 | | |
9317 | 9317 | | |
9318 | 9318 | | |
9319 | 9319 | | |
9320 | 9320 | | |
9321 | | - | |
| 9321 | + | |
9322 | 9322 | | |
9323 | 9323 | | |
9324 | 9324 | | |
| |||
9454 | 9454 | | |
9455 | 9455 | | |
9456 | 9456 | | |
9457 | | - | |
| 9457 | + | |
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
9924 | 9924 | | |
9925 | 9925 | | |
9926 | 9926 | | |
9927 | | - | |
| 9927 | + | |
9928 | 9928 | | |
9929 | 9929 | | |
9930 | 9930 | | |
9931 | 9931 | | |
9932 | 9932 | | |
9933 | 9933 | | |
9934 | | - | |
| 9934 | + | |
9935 | 9935 | | |
9936 | 9936 | | |
9937 | 9937 | | |
| |||
10082 | 10082 | | |
10083 | 10083 | | |
10084 | 10084 | | |
10085 | | - | |
| 10085 | + | |
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
1705 | 1705 | | |
1706 | 1706 | | |
1707 | 1707 | | |
1708 | | - | |
| 1708 | + | |
1709 | 1709 | | |
1710 | 1710 | | |
1711 | 1711 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
580 | 580 | | |
581 | 581 | | |
582 | 582 | | |
583 | | - | |
| 583 | + | |
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
584 | 584 | | |
585 | 585 | | |
586 | 586 | | |
587 | | - | |
| 587 | + | |
588 | 588 | | |
589 | 589 | | |
590 | 590 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
Lines changed: 25 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
8986 | 8986 | | |
8987 | 8987 | | |
8988 | 8988 | | |
| 8989 | + | |
| 8990 | + | |
| 8991 | + | |
8989 | 8992 | | |
8990 | 8993 | | |
8991 | 8994 | | |
8992 | 8995 | | |
| 8996 | + | |
8993 | 8997 | | |
8994 | | - | |
8995 | | - | |
| 8998 | + | |
| 8999 | + | |
8996 | 9000 | | |
8997 | 9001 | | |
8998 | 9002 | | |
| |||
9255 | 9259 | | |
9256 | 9260 | | |
9257 | 9261 | | |
9258 | | - | |
| 9262 | + | |
| 9263 | + | |
9259 | 9264 | | |
9260 | 9265 | | |
9261 | 9266 | | |
| |||
9298 | 9303 | | |
9299 | 9304 | | |
9300 | 9305 | | |
9301 | | - | |
| 9306 | + | |
| 9307 | + | |
9302 | 9308 | | |
9303 | 9309 | | |
9304 | 9310 | | |
9305 | | - | |
| 9311 | + | |
| 9312 | + | |
9306 | 9313 | | |
9307 | 9314 | | |
9308 | 9315 | | |
| |||
9346 | 9353 | | |
9347 | 9354 | | |
9348 | 9355 | | |
| 9356 | + | |
9349 | 9357 | | |
9350 | 9358 | | |
9351 | 9359 | | |
| |||
9357 | 9365 | | |
9358 | 9366 | | |
9359 | 9367 | | |
| 9368 | + | |
9360 | 9369 | | |
9361 | 9370 | | |
9362 | 9371 | | |
9363 | 9372 | | |
9364 | 9373 | | |
9365 | 9374 | | |
9366 | | - | |
| 9375 | + | |
9367 | 9376 | | |
9368 | 9377 | | |
9369 | 9378 | | |
| |||
9375 | 9384 | | |
9376 | 9385 | | |
9377 | 9386 | | |
| 9387 | + | |
9378 | 9388 | | |
9379 | 9389 | | |
9380 | 9390 | | |
| |||
10573 | 10583 | | |
10574 | 10584 | | |
10575 | 10585 | | |
10576 | | - | |
| 10586 | + | |
| 10587 | + | |
| 10588 | + | |
| 10589 | + | |
10577 | 10590 | | |
10578 | 10591 | | |
10579 | 10592 | | |
| |||
14169 | 14182 | | |
14170 | 14183 | | |
14171 | 14184 | | |
| 14185 | + | |
| 14186 | + | |
14172 | 14187 | | |
14173 | 14188 | | |
14174 | 14189 | | |
| |||
16901 | 16916 | | |
16902 | 16917 | | |
16903 | 16918 | | |
16904 | | - | |
| 16919 | + | |
16905 | 16920 | | |
16906 | 16921 | | |
16907 | 16922 | | |
16908 | | - | |
| 16923 | + | |
16909 | 16924 | | |
16910 | 16925 | | |
16911 | 16926 | | |
| |||
0 commit comments