|
1 | | -import React, { Suspense } from 'react'; |
| 1 | +import React, { memo, Suspense } from 'react'; |
2 | 2 | import { transformProps } from '../../createWidget'; |
3 | 3 | import { useStore, useTools } from '../../hooks'; |
4 | 4 | import { extraSchemaList, getWidgetName } from '../../mapping'; |
@@ -162,43 +162,41 @@ const ExtendedWidget = ({ |
162 | 162 | const finalProps = transformProps(widgetProps); |
163 | 163 | return ( |
164 | 164 | <Suspense fallback={<div></div>}> |
165 | | - <div className="fr-item-wrapper"> |
166 | | - <Widget {...finalProps} /> |
167 | | - </div> |
| 165 | + <Widget {...finalProps} /> |
168 | 166 | </Suspense> |
169 | 167 | ); |
170 | 168 | }; |
171 | 169 |
|
172 | | -// const areEqual = (prev, current) => { |
173 | | -// if (prev.schema && current.schema) { |
174 | | -// if (prev.schema.$id === '#') { |
175 | | -// return false; |
176 | | -// } |
177 | | -// if (prev.schema.hidden && current.schema.hidden) { |
178 | | -// return true; |
179 | | -// } |
180 | | -// } |
181 | | -// if (prev.readOnly !== current.readOnly) { |
182 | | -// return false; |
183 | | -// } |
184 | | -// if (prev.disabled !== current.disabled) { |
185 | | -// return false; |
186 | | -// } |
187 | | -// if ( |
188 | | -// JSON.stringify(prev.dependValues) !== JSON.stringify(current.dependValues) |
189 | | -// ) { |
190 | | -// return false; |
191 | | -// } |
192 | | -// if (isObjType(prev.schema) && isObjType(current.schema)) { |
193 | | -// return false; |
194 | | -// } |
195 | | -// if ( |
196 | | -// JSON.stringify(prev.value) === JSON.stringify(current.value) && |
197 | | -// JSON.stringify(prev.schema) === JSON.stringify(current.schema) |
198 | | -// ) { |
199 | | -// return true; |
200 | | -// } |
201 | | -// return false; |
202 | | -// }; |
203 | | - |
204 | | -export default ExtendedWidget; |
| 170 | +const areEqual = (prev, current) => { |
| 171 | + if (prev.schema && current.schema) { |
| 172 | + if (prev.schema.$id === '#') { |
| 173 | + return false; |
| 174 | + } |
| 175 | + if (prev.schema.hidden && current.schema.hidden) { |
| 176 | + return true; |
| 177 | + } |
| 178 | + } |
| 179 | + if (prev.readOnly !== current.readOnly) { |
| 180 | + return false; |
| 181 | + } |
| 182 | + if (prev.disabled !== current.disabled) { |
| 183 | + return false; |
| 184 | + } |
| 185 | + if ( |
| 186 | + JSON.stringify(prev.dependValues) !== JSON.stringify(current.dependValues) |
| 187 | + ) { |
| 188 | + return false; |
| 189 | + } |
| 190 | + if (isObjType(prev.schema) && isObjType(current.schema)) { |
| 191 | + return false; |
| 192 | + } |
| 193 | + if ( |
| 194 | + JSON.stringify(prev.value) === JSON.stringify(current.value) && |
| 195 | + JSON.stringify(prev.schema) === JSON.stringify(current.schema) |
| 196 | + ) { |
| 197 | + return true; |
| 198 | + } |
| 199 | + return false; |
| 200 | +}; |
| 201 | + |
| 202 | +export default memo(ExtendedWidget, areEqual); |
0 commit comments