Skip to content

fix(ui): stop passing useAnimatedStyle dependencies on native - #950

Open
dannyhw wants to merge 1 commit into
dannyhw/fix/ios-story-list-a11y-v10from
dannyhw/fix/reanimated-deps-warning-v10
Open

dannyhw wants to merge 1 commit into
dannyhw/fix/ios-story-list-a11y-v10from
dannyhw/fix/reanimated-deps-warning-v10

Conversation

@dannyhw

@dannyhw dannyhw commented Oct 24, 2026 •

Copy link
Copy Markdown
Member

Issue: #943

Backport of #948 to v10-stable. Stacked on #949, because it reuses that PR's jest setup. It will retarget to v10-stable once #949 merges. Only the top commit belongs to this PR.

What I did

MobileAddonsPanel now passes its useAnimatedStyle dependency array only on web (Platform.OS === 'web' ? [...] : undefined). On native, Reanimated 4.6+ ignores the array and warns ("Dependencies should only be used on the web"). Web behaviour is unchanged. The source, test and changeset are byte-identical to #948. See #948 for details.

How to test

pnpm -F @storybook/react-native-ui test: on v10-stable the iOS and Android cases fail with Received: [{"value": 0}, 844, 34]. They pass here, and the web case passes on both branches. All gates pass.

@changeset-bot

changeset-bot Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

馃 Changeset detected

Latest commit: 0b4468a

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 9 packages
Name Type
@storybook/react-native-ui Patch
@storybook/addon-ondevice-actions Patch
@storybook/addon-ondevice-backgrounds Patch
@storybook/addon-ondevice-controls Patch
@storybook/addon-ondevice-notes Patch
@storybook/react-native-theming Patch
@storybook/react-native-ui-common Patch
@storybook/react-native-ui-lite Patch
@storybook/react-native Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Reanimated 4.6+ ignores the dependency array on native, where the
worklets plugin already captures the closure, and warns about it
("Dependencies should only be used on the web"). The array is kept on
web, where it is still used when the worklets babel plugin does not run:
without it a production web build would compute maxHeight only once and
clip the panel on a narrow viewport.

Adds a regression test that renders MobileAddonsPanel and asserts
useAnimatedStyle receives no dependency array on native and the
dependencies on web.

Fixes #943

(cherry picked from commit 590b304)
@dannyhw
dannyhw force-pushed the dannyhw/fix/reanimated-deps-warning-v10 branch from e935995 to 0b4468a Compare October 24, 2026 13:54
@dannyhw dannyhw changed the title fix(ui): stop passing useAnimatedStyle dependencies fix(ui): stop passing useAnimatedStyle dependencies on native Oct 24, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant