Используя «реактивный»
«Реакция»: «16.0.0»,
«Реактивный»: «0.50.4»,
и «Использование»response-navigation 1.0 '
все работает хорошо, но когда я нажимаю на меню ящика, чтобы открыть, оно работает, чтобы открыть, но его невидимое показывает только цвет подложки (черный)
я пытался удалить компонент заголовка надругой стековый навигатор .. или ищите проблему внутри DrawerComponent.но до сих пор не могу понять.
все работало нормально, когда я не переключался на Tab Navigation, но мне нужно было добавить Tab Navigator, поэтому изменил его.
, пожалуйста, помогите мне
const RootNavigator = StackNavigator({
Init : { screen : InitComponent },
Root : { screen : TabStack },
})
const TabStack = TabNavigator({
DrawerStack: { screen : DrawerStack, },
AddrDrawerStack : {screen : AddrDrawerStack},
StorageDrawerStack : {screen : StorageDrawerStack},
},
{
navigationOptions:({navigation})=>({
header:<HeaderContainer navigation={navigation} />,
tabBarIcon : ({focused, tintColor}) =>{
const { routeName } = navigation.state;
return <FontAwesome size={25} color={tintColor}>{icon}</FontAwesome>;
},
}),
tabBarComponent: TabBarBottom,
tabBarPosition: 'bottom',
tabBarOptions: {
activeTintColor: 'tomato',
inactiveTintColor: 'gray',
},
//animationEnabled: false,
swipeEnabled: true,
})
const DrawerStack = DrawerNavigator({
MailStack : {screen: MailStack},
}, {
gesturesEnabled: false,
contentComponent: DrawerContainer,
})
** DrawerContainer.js **
class DrawerContainer extends React.Component {
constructor(props, context){
super(props,context);
this.state = {
selectMenu: false,
}
this.props.getMailboxMenuList();
this.menuClick = this.menuClick.bind(this);
}
menuClick(menuName){
this.setState({
selectMenu: true,
});
this.props.mailBoxChange(menuName)
this.props.navigation.navigate("DrawerStack", {menu:menuName});
}
render() {
const { navigation, mailboxMenuList } = this.props;
if(!mailboxMenuList){
return (
<View style={styles.container}>
<Text>try again</Text>
</View>
)
}
return (
<View style={styles.container}>
<View style={styles.menuMailTop}>
<TouchableHighlight
onPress={()=>{this.props.navigation.navigate("PostScreen",{type:'write'})}}
style={styles.menuMailBoxBtn} >
<Text> write </Text>
</TouchableHighlight>
</View>
<View>
{
mailboxMenuList.items? <BasicMailBox
mailList={mailboxMenuList.items}
onReloadClick={this.props.reloadExternalMailbox.bind(this)}
externalLoading={this.props.externalLoading}
selectMenu ={this.state.selectMenu}
menuClick={this.menuClick.bind(this)} />
:<View></View>
}
</View>
</View>
) }
}
** Метод открытия ящика **
<TouchableHighlight
onPress= {() => {
//when i press this, index indicates 0
if (navigation.state.index === 0) {
navigation.navigate('DrawerOpen')
// navigation.openDrawer()
} else {
navigation.navigate('DrawerClose')
}
}
} >
</TouchableHighlight>