【发布时间】:2019-08-09 17:47:48
【问题描述】:
我最近刚刚添加了抽屉导航器并将我的屏幕包裹在createDrawerNavigator()
这些是我目前的路线:
- Home.js
- Post.js
- Settings.js
当用户从 Home 导航到 Post 时,我传递了一个包含帖子数据的参数。
onPress={() => this.props.navigation.navigate('Post', {postData: postData})}
当用户从 Post 返回 Home 时,post 将被卸载。并在点击另一个帖子时使用新数据重新加载。
我的问题是,在实现抽屉时,Post 屏幕在导航回 home 时没有被卸载,我一直得到与第一个相同的道具和屏幕帖子打开了,一遍又一遍。
这是我的路线设置:
import React from "react";
import { createDrawerNavigator, createStackNavigator, createAppContainer } from 'react-navigation';
import Home from './screens/Home';
import Post from './screens/Post';
import Settings from './screens/Settings';
import SideBar from './screens/sidebar';
const Drawer = createDrawerNavigator(
{
Home: {screen: Home},
Post: {screen: Post},
Settings: {screen: Settings}
},
{
initialRouteName: "Home",
backBehavior: 'initialRoute',
contentOptions: {
activeTintColor: "#e91e63"
},
contentComponent: props => <SideBar {...props} />,
}
);
const AppNavigator = createStackNavigator(
{
Drawer: {screen: Drawer},
},
{
initialRouteName: "Drawer",
headerMode: "none",
}
);
export default createAppContainer(AppNavigator);
我做错了什么?
我希望每个帖子屏幕在从主页导航到它时打开并重新呈现为新屏幕。
【问题讨论】:
标签: react-native react-navigation