我对react-native还是陌生的,并且对用react-navigation实现开关堆栈抽屉导航嵌套有一些问题。 我的嵌套导航看起来像这样:
export default SwitchNav = createSwitchNavigator({
AuthLoading : AuthLoadingScreen ,
LoginedStack : LoginedNavigator ,
AppStack : AppNavigator
},
{
initialRouteName: 'AuthLoading'
})
export const AppNavigator = StackNavigator(
{
Drawer : {
screen : DrawerNav
},
Home: {
screen: Home ,
},
Result : {
screen: SearchResult
} ,
MyModal: {
screen: ModalScreen,
} ,
});
export const LoginedNavigator = StackNavigator(
{
Drawer : {
screen : DrawerNav
} ,
LoginedHome : {
screen : LoginedHome ,
} ,
Result : {
screen: SearchResult
} ,
MyModal: {
screen: ModalScreen,
}
} )
最后,我的具有独立路线的Drawer导航(它们都不在任何堆栈导航器中)看起来像这样:
export default DrawerNav = createDrawerNavigator({
SimpleScreen: {
screen : SimpleScreen ,
} ,
About : {
screen : About
}
})
在LoginedHome和其他页面中,我尝试通过以下方式打开此抽屉:
navigation.dispatch(DrawerActions.openDrawer());
因为,据我所知,嵌套导航器navigation.openDrawer()
无法访问。
问题是,当我尝试打开Drawer时,它总是导航到其中的第一条路线(SimpleScreen)并在此屏幕中打开Drawer。
我做错了什么?
如何一起使用Switch和Drawer导航器来实现这种嵌套?
我确实做了很多研究,但无法解决此问题或找不到任何示例/解决方案,期望githib question也没有任何答案。
答案 0 :(得分:0)
Okai,经过研究后,我做了下面的解决方案:
Expression expression = parser.parseExpression("field1 + field2");
EvaluationContext evaluationContext = new SecureEvaluationContext();
Double value = expression.getValue(evaluationContext, new ControlElement(), Double.class);