diff --git a/apps/example/src/Examples/Breathe/index.ts b/apps/example/src/Examples/Breathe/index.ts index 319fb82a16..2de3f63f46 100644 --- a/apps/example/src/Examples/Breathe/index.ts +++ b/apps/example/src/Examples/Breathe/index.ts @@ -1 +1 @@ -export { Breathe } from "./Breathe"; +export { Breathe } from "./TestReconciller"; diff --git a/packages/skia/src/sksg/HostConfig.ts b/packages/skia/src/sksg/HostConfig.ts index e56dacc13d..831a667364 100644 --- a/packages/skia/src/sksg/HostConfig.ts +++ b/packages/skia/src/sksg/HostConfig.ts @@ -177,16 +177,24 @@ export const sksgHostConfig: SkiaHostConfig = { _type, _oldProps, newProps, - _updatePayload, - _internalInstanceHandle, - keepChildren: boolean, - _recyclableInstance: null | Instance + keepChildren, + _newChildSet ) { debug("cloneInstance"); + + // TODO: on RN Web we need to do clone newProps + // see https://github.com/Shopify/react-native-skia/pull/2998 + if ( + keepChildren && + shallowEq(instance.props as object, newProps as object) + ) { + return instance; + } + return { type: instance.type, - props: { ...newProps }, - children: keepChildren ? [...instance.children] : [], + props: newProps, + children: keepChildren ? instance.children : [], }; },