【问题标题】:Pass parameters on back button React Native在返回按钮上传递参数 React Native
【发布时间】:2022-01-24 08:00:44
【问题描述】:

当使用 React Native Navigation 按下后退按钮时,我试图将一些信息传递到前一个屏幕,但是,我不知道如何使用内置的后退按钮传递参数。当我使用自己的按钮时,我发现它相当简单,因为参数可以像这样传递给路由

<TouchableOpacity
        style={styles.container}
        onPress={() =>
          navigation.navigate('EditAsset', {
            data: 'some data',
            
          })
        }>

我想在按下后退按钮时将一些信息传递到上一个屏幕。我尝试使用setParams 进行此操作,然后在上一个屏幕上的routes.params 中检查editUpdates,但这似乎没有奏效

navigation.setParams({
      editUpdates: 'someText',
    });

这是完成导航器配置的 AppStack 中的代码

import React from 'react';
import {createStackNavigator} from '@react-navigation/stack';

import HomeScreen from '../screens/HomeScreen';
import EditAssetScreen from '../screens/EditAssetScreen';
import {TouchableOpacity, Text} from 'react-native';

const Stack = createStackNavigator();

const AppStack = () => {
  return (
    <Stack.Navigator>
      <Stack.Screen
        name="Plutus"
        component={HomeScreen}
        options={{header: () => null}}
      />
      <Stack.Screen
        name="EditAsset"
        component={EditAssetScreen}
        options={({navigation}) => ({
          title: 'Holding Details',
          // headerMode: 'none',
          headerStyle: {
            backgroundColor: '#f9fafd',
            shadowColor: '#f9fafd',
            elevation: 0,
            shadowOpacity: 0,
          },
        })}
      />
    </Stack.Navigator>
  );
};

export default AppStack;

总之,我从屏幕 A 导航到 B。然后更新到屏幕 B。然后导航回屏幕 A。我想将屏幕 B 上所做的更新传递回屏幕 A。

【问题讨论】:

  • 这里是解决方案。 stackoverflow.com/questions/50098376/…
  • 你能展示你的后退按钮实现吗
  • @sankasanjeewa 我想它是自动为你完成的。如果我在 AppStack 中添加 headerMode: none,那么后退按钮就会消失。
  • @HydenPolikoff,我的意思是你的自定义后退按钮

标签: reactjs react-native navigation react-navigation


【解决方案1】:

就在两天前,我遇到了同样的问题,但找不到任何解决方案,然后我想出了 redux。只需将参数数据保存在 redux-state 中,然后在所需的组件中获取即可。

【讨论】:

    猜你喜欢
    • 2019-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    相关资源
    最近更新 更多