Skip to content

Add screen transitions blog post#1488

Draft
eds2002 wants to merge 1 commit intoreact-navigation:mainfrom
eds2002:@eds2002/screen-transitions-blog
Draft

Add screen transitions blog post#1488
eds2002 wants to merge 1 commit intoreact-navigation:mainfrom
eds2002:@eds2002/screen-transitions-blog

Conversation

@eds2002
Copy link
Copy Markdown

@eds2002 eds2002 commented Apr 27, 2026

Summary

Adds a community blog post covering react-native-screen-transitions.

Also enables the existing static2dynamic transform for blog posts so this article can use the same Static / Dynamic code example pattern as the docs.

Add a community blog post covering react-native-screen-transitions, including setup, an iOS-style card transition, navigation.zoom(), and boundary groups.

Add the accompanying demo videos and author metadata. Enable the existing static2dynamic rehype transform for blog posts so the article can use the same Static/Dynamic code example pattern as the docs.
@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 27, 2026

Deploy Preview for react-navigation-docs ready!

Name Link
🔨 Latest commit 2122d6a
🔍 Latest deploy log https://app.netlify.com/projects/react-navigation-docs/deploys/69ef3b0b80c1c70008d88323
😎 Deploy Preview https://deploy-preview-1488--react-navigation-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@@ -0,0 +1,350 @@
---
title: Building custom screen transitions with react-native-screen-transitions
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe "Building custom transitions with react-native-screen-transitions" or "Custom transitions with react-native-screen-transitions" to make the title a bit shorter?

---
title: Building custom screen transitions with react-native-screen-transitions
authors: ed
tags: [community, guide]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't have these tags in existing articles. we have a "tutorial" tag, and from past articles, they usually also have name of the library in the tag. so better would be:

Suggested change
tags: [community, guide]
tags: [tutorial, screen-transitions]

Comment on lines +64 to +74
If you're on a Mac and developing for iOS, install the pods via [CocoaPods](https://cocoapods.org/) to complete the linking:

```bash
npx pod-install ios
```

For the `navigationMaskEnabled` example later in the article, install `@react-native-masked-view/masked-view` too:

```bash npm2yarn
npm install @react-native-masked-view/masked-view
```
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd move the pod install step to after installing masked view

Comment on lines +32 to +77
<Tabs groupId='framework' queryString="framework">
<TabItem value='expo' label='Expo' default>

In your project directory, run:

```bash
npx expo install react-native-reanimated react-native-gesture-handler \
@react-navigation/native @react-navigation/native-stack \
@react-navigation/elements react-native-screens \
react-native-safe-area-context
```

This will install versions of these libraries that are compatible with your Expo SDK version.

For the `navigationMaskEnabled` example later in the article, install `@react-native-masked-view/masked-view` too:

```bash
npx expo install @react-native-masked-view/masked-view
```

</TabItem>
<TabItem value='bare' label='Bare React Native'>

In your project directory, run:

```bash npm2yarn
npm install react-native-reanimated react-native-gesture-handler \
@react-navigation/native @react-navigation/native-stack \
@react-navigation/elements react-native-screens \
react-native-safe-area-context
```

If you're on a Mac and developing for iOS, install the pods via [CocoaPods](https://cocoapods.org/) to complete the linking:

```bash
npx pod-install ios
```

For the `navigationMaskEnabled` example later in the article, install `@react-native-masked-view/masked-view` too:

```bash npm2yarn
npm install @react-native-masked-view/masked-view
```

</TabItem>
</Tabs>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe worth consolidating masked view step to the same command, since it's part of the tutorial anyway, and it'll be one less step.

"Next, install the necessary peer dependencies used by react-native-screen-transitions." could then be changed to "Next, install the necessary peer dependencies used by react-native-screen-transitions, and @react-native-masked-view/masked-view for the example later in the article:"

```

</TabItem>
<TabItem value='bare' label='Bare React Native'>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is the naming we use in getting started:

Suggested change
<TabItem value='bare' label='Bare React Native'>
<TabItem value='community-cli' label='Community CLI'>


## Recreating the iOS page transition

<div className="device-frame">
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see the device frame border radius doesn't quite match the video. feel free to tweak the CSS so it matches. or alternatively remove it from the article.

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.

2 participants