Commit 9f3c9e8
authored
Make memo tag determination based on memoized component (#6453)
* Make memo tag determination based on memoized component
Calculate the memo component's hash, not the hash of the pre-memoized component.
This allows PASSTHROUGH children to memoize to the same underlying function and avoid a recursive .render() call.
Updating the `_get_component_hash` function to hash the imports, hooks, custom
code, and app wraps ensures that structurally similar component do not collapse
to the same memo component if critical aspects differ. Previously the hash was
only based on the rendered component itself, so hooks, like on_mount would not
be factored in.
* avoid recursive calls for PASSTHROUGH memo components
* fix _get_all_refs for form on_submit1 parent 095e687 commit 9f3c9e8
5 files changed
Lines changed: 169 additions & 70 deletions
File tree
- packages/reflex-base/src/reflex_base/components
- reflex
- compiler/plugins
- experimental
- tests/units/compiler
Lines changed: 65 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1381 | 1381 | | |
1382 | 1382 | | |
1383 | 1383 | | |
| 1384 | + | |
| 1385 | + | |
| 1386 | + | |
| 1387 | + | |
| 1388 | + | |
| 1389 | + | |
| 1390 | + | |
| 1391 | + | |
| 1392 | + | |
| 1393 | + | |
| 1394 | + | |
| 1395 | + | |
| 1396 | + | |
| 1397 | + | |
| 1398 | + | |
| 1399 | + | |
| 1400 | + | |
| 1401 | + | |
| 1402 | + | |
| 1403 | + | |
| 1404 | + | |
| 1405 | + | |
| 1406 | + | |
| 1407 | + | |
| 1408 | + | |
| 1409 | + | |
| 1410 | + | |
| 1411 | + | |
| 1412 | + | |
| 1413 | + | |
| 1414 | + | |
| 1415 | + | |
| 1416 | + | |
| 1417 | + | |
| 1418 | + | |
| 1419 | + | |
| 1420 | + | |
| 1421 | + | |
| 1422 | + | |
| 1423 | + | |
| 1424 | + | |
| 1425 | + | |
| 1426 | + | |
| 1427 | + | |
| 1428 | + | |
| 1429 | + | |
| 1430 | + | |
| 1431 | + | |
| 1432 | + | |
| 1433 | + | |
| 1434 | + | |
| 1435 | + | |
| 1436 | + | |
| 1437 | + | |
| 1438 | + | |
| 1439 | + | |
| 1440 | + | |
| 1441 | + | |
| 1442 | + | |
| 1443 | + | |
| 1444 | + | |
| 1445 | + | |
| 1446 | + | |
| 1447 | + | |
| 1448 | + | |
1384 | 1449 | | |
1385 | 1450 | | |
1386 | 1451 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
123 | | - | |
| 123 | + | |
124 | 124 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
| 25 | + | |
31 | 26 | | |
32 | 27 | | |
33 | 28 | | |
| |||
38 | 33 | | |
39 | 34 | | |
40 | 35 | | |
41 | | - | |
42 | 36 | | |
43 | 37 | | |
44 | 38 | | |
45 | 39 | | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | 40 | | |
76 | 41 | | |
77 | 42 | | |
| |||
383 | 348 | | |
384 | 349 | | |
385 | 350 | | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | | - | |
390 | 351 | | |
391 | 352 | | |
392 | | - | |
393 | 353 | | |
394 | | - | |
395 | | - | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
396 | 362 | | |
397 | 363 | | |
398 | 364 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1008 | 1008 | | |
1009 | 1009 | | |
1010 | 1010 | | |
1011 | | - | |
1012 | 1011 | | |
1013 | 1012 | | |
1014 | 1013 | | |
| |||
1020 | 1019 | | |
1021 | 1020 | | |
1022 | 1021 | | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
1023 | 1028 | | |
1024 | | - | |
1025 | 1029 | | |
1026 | 1030 | | |
1027 | 1031 | | |
| |||
1044 | 1048 | | |
1045 | 1049 | | |
1046 | 1050 | | |
1047 | | - | |
1048 | | - | |
1049 | | - | |
1050 | | - | |
1051 | | - | |
1052 | | - | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
| 1056 | + | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
| 1060 | + | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
1053 | 1067 | | |
1054 | 1068 | | |
1055 | | - | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
1056 | 1084 | | |
1057 | 1085 | | |
1058 | 1086 | | |
1059 | 1087 | | |
1060 | 1088 | | |
1061 | | - | |
1062 | | - | |
| 1089 | + | |
| 1090 | + | |
1063 | 1091 | | |
1064 | 1092 | | |
1065 | 1093 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
196 | 196 | | |
197 | 197 | | |
198 | 198 | | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
199 | 243 | | |
200 | 244 | | |
201 | 245 | | |
| |||
367 | 411 | | |
368 | 412 | | |
369 | 413 | | |
370 | | - | |
371 | | - | |
372 | | - | |
| 414 | + | |
373 | 415 | | |
374 | 416 | | |
375 | 417 | | |
| |||
400 | 442 | | |
401 | 443 | | |
402 | 444 | | |
403 | | - | |
404 | | - | |
405 | | - | |
| 445 | + | |
406 | 446 | | |
407 | 447 | | |
408 | | - | |
409 | | - | |
410 | | - | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
411 | 455 | | |
412 | 456 | | |
413 | 457 | | |
| |||
421 | 465 | | |
422 | 466 | | |
423 | 467 | | |
424 | | - | |
425 | 468 | | |
426 | 469 | | |
427 | 470 | | |
428 | 471 | | |
429 | 472 | | |
430 | 473 | | |
431 | | - | |
432 | | - | |
433 | | - | |
434 | | - | |
435 | | - | |
| 474 | + | |
| 475 | + | |
436 | 476 | | |
437 | 477 | | |
438 | 478 | | |
| |||
0 commit comments