Commit 0b9e40b
committed
Optimize React components with memo, useMemo, useCallback
- FormBuilder: Fix state mutation, memoize expensive computations
- Card: Add React.memo, useCallback for event handlers
- Section: Add React.memo, useMemo, useCallback throughout
- CardModal: Add React.memo, useCallback for handlers
- Add: Add React.memo, useCallback for handlers
- CardEnumOptions: Fix module-level ID counter, add React.memo
- CardGeneralParameterInputs: Add React.memo, memoize functions
- PredefinedGallery: Fix state mutation, add memoization
- Collapse, FBCheckbox, FBRadioGroup, FBRadioButton: Add React.memo
- PlaygroundContainer: Add useCallback for onChange
All components now follow React best practices:
- Immutable state updates
- Memoized expensive computations
- Stable callback references
- Pure functional components wrapped in memo()1 parent e857f97 commit 0b9e40b
File tree
13 files changed
+728
-406
lines changed- example/components
- src/formBuilder
- Collapse
- checkbox
- radio
13 files changed
+728
-406
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
49 | | - | |
| 48 | + | |
| 49 | + | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
52 | 61 | | |
53 | 62 | | |
54 | 63 | | |
| |||
111 | 120 | | |
112 | 121 | | |
113 | 122 | | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
| 123 | + | |
118 | 124 | | |
119 | 125 | | |
120 | 126 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
31 | | - | |
32 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
33 | 36 | | |
34 | | - | |
| 37 | + | |
35 | 38 | | |
36 | | - | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
37 | 57 | | |
38 | 58 | | |
39 | 59 | | |
| |||
48 | 68 | | |
49 | 69 | | |
50 | 70 | | |
51 | | - | |
52 | | - | |
| 71 | + | |
| 72 | + | |
53 | 73 | | |
54 | 74 | | |
55 | 75 | | |
| |||
101 | 121 | | |
102 | 122 | | |
103 | 123 | | |
104 | | - | |
105 | | - | |
106 | | - | |
| 124 | + | |
107 | 125 | | |
108 | 126 | | |
109 | 127 | | |
| |||
120 | 138 | | |
121 | 139 | | |
122 | 140 | | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
| 141 | + | |
127 | 142 | | |
128 | 143 | | |
129 | 144 | | |
| |||
136 | 151 | | |
137 | 152 | | |
138 | 153 | | |
| 154 | + | |
| 155 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
35 | | - | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 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 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
36 | 89 | | |
37 | 90 | | |
38 | 91 | | |
39 | 92 | | |
40 | 93 | | |
41 | | - | |
| 94 | + | |
42 | 95 | | |
43 | 96 | | |
44 | 97 | | |
45 | 98 | | |
46 | | - | |
| 99 | + | |
47 | 100 | | |
48 | 101 | | |
49 | 102 | | |
| |||
71 | 124 | | |
72 | 125 | | |
73 | 126 | | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
| 127 | + | |
78 | 128 | | |
79 | 129 | | |
80 | 130 | | |
| |||
84 | 134 | | |
85 | 135 | | |
86 | 136 | | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
| 137 | + | |
91 | 138 | | |
92 | 139 | | |
93 | 140 | | |
| |||
116 | 163 | | |
117 | 164 | | |
118 | 165 | | |
119 | | - | |
| 166 | + | |
120 | 167 | | |
121 | 168 | | |
122 | 169 | | |
| |||
127 | 174 | | |
128 | 175 | | |
129 | 176 | | |
130 | | - | |
| 177 | + | |
131 | 178 | | |
132 | 179 | | |
133 | 180 | | |
| |||
146 | 193 | | |
147 | 194 | | |
148 | 195 | | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
| 196 | + | |
155 | 197 | | |
156 | 198 | | |
157 | 199 | | |
| |||
161 | 203 | | |
162 | 204 | | |
163 | 205 | | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
| 206 | + | |
| 207 | + | |
168 | 208 | | |
169 | 209 | | |
170 | 210 | | |
171 | 211 | | |
172 | 212 | | |
173 | 213 | | |
174 | 214 | | |
175 | | - | |
| 215 | + | |
176 | 216 | | |
177 | 217 | | |
178 | 218 | | |
179 | 219 | | |
180 | 220 | | |
| 221 | + | |
| 222 | + | |
0 commit comments