FnH*_*FnH 8

只需创建一个Animated.View并将其附加到您的屏幕即可。

const FadeHomeScreen = (props) => (
  <FadeInView>
    <HomeScreen {...props} />
  </FadeInView>
);
Run Code Online (Sandbox Code Playgroud)

然后用它来Tab.Screen

<Tab.Screen name="Home" component={FadeHomeScreen} />
Run Code Online (Sandbox Code Playgroud)

只需unmountOnBlur: true添加screenOptions

const screenOptions = {
    unmountOnBlur: true,
    headerShown: false,
};

<Tab.Navigator {...{ screenOptions }}>
Run Code Online (Sandbox Code Playgroud)

代码: https ://snack.expo.dev/@fanish/native-stack-navigator-%7C-react-navigation

您还可以使用react-native-reanimated创建<FadeInView />组件

  • 太感谢了。但是,有没有办法保持褪色页面的状态呢?启用 unmountOnBlur 会导致用户丢失所有导航历史记录。是否有一种方法可以实现相同的行为但保留所有状态逻辑? (2认同)