【发布时间】: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。
【问题讨论】:
-
你能展示你的后退按钮实现吗
-
@sankasanjeewa 我想它是自动为你完成的。如果我在 AppStack 中添加
headerMode: none,那么后退按钮就会消失。 -
@HydenPolikoff,我的意思是你的自定义后退按钮
标签: reactjs react-native navigation react-navigation