React native 反应导航:是否可以使用参数返回goBack()或pop()?
我使用的是React Navigation(V2),我有一个基本的屏幕设置,如下所示:React native 反应导航:是否可以使用参数返回goBack()或pop()?,react-native,react-navigation,React Native,React Navigation,我使用的是React Navigation(V2),我有一个基本的屏幕设置,如下所示: import { createDrawerNavigator, createStackNavigator, createSwitchNavigator } from "react-navigation"; import DetailScreen from "../screens/DetailScreen"; import HomeScreen from "../screens/HomeScree
import {
createDrawerNavigator,
createStackNavigator,
createSwitchNavigator
} from "react-navigation";
import DetailScreen from "../screens/DetailScreen";
import HomeScreen from "../screens/HomeScreen";
import LoginScreen from "../screens/LoginScreen";
import SettingsScreen from "../screens/SettingsScreen";
const StackNavigator = createStackNavigator({
Home: { screen: HomeScreen },
Detail: { screen: DetailScreen }
});
StackNavigator.navigationOptions = ({ navigation }) => {
let drawerLockMode = "unlocked";
if (navigation.state.index > 0) {
drawerLockMode = "locked-closed";
}
return {
drawerLockMode
};
};
const DrawerNavigator = createDrawerNavigator({
HomeStack: { screen: StackNavigator },
Settings: { screen: SettingsScreen }
});
const Navigator = createSwitchNavigator(
{ LoginScreen, DrawerNavigator },
{ initialRouteName: "LoginScreen" }
);
export default Navigator;
在使用我的应用程序时,用户会在DetailScreen
上进行一些选择,然后应该返回到主屏幕
。我想在返回时将参数传递到主屏幕
。不幸的是,它似乎不接受任何参数
如何返回屏幕并在执行此操作时传递参数?您可以在屏幕上使用,并在那里触发刷新更改
didFocus
-屏幕聚焦(如果有转换,则转换
已完成)
您可以将
func
从main屏幕
传递到setParams
中的NavigatedScreen
,然后在继续之前调用它back@PritishVaidya那是个好主意!有没有办法在动画完成后调用它?这太棒了,已经帮了很多忙了!有没有办法分辨出用户是从哪条路线来的?因为我想在动画后触发的事件只有在用户来自某条路线时才会发生。这里的有效负载应该包含state
和lastState
,这将提供所提到的屏幕
的详细信息,或者您可以尝试一下,非常感谢,这对我帮助很大!
// In your component
componentDidMount () {
this._onFocusListener = this.props.navigation.addListener('didFocus', (payload) => {
// Update the component (API calls here)
});
}