我的代码位于here
我收到的错误是:没有为关键employeeList定义路由。必须是以下之一:' auth',' main'。我检查了router.js,这个组件嵌套在主场景中,所以我不确定是什么问题。当我想创建一名员工或删除一名员工时,我得到了这个。我认为这与导航回员工屏幕有关。
答案 0 :(得分:2)
从react-native-router-flux更改并导入堆栈,并为root,auth执行此操作。
当你转到堆栈的第一个元素时,用它的键调用它。这意味着如果你想转到employeeList,你必须调用Actions.main()。
这就是为什么人们通常用屏幕名称命名他们的父堆栈,然后首先使用" _"字首。您可以使用employeeList命名堆栈,使用_employeeList命名第一个场景。试试这个,请告诉我结果
<Router navigationBarStyle={{ backgroundColor: '#2980b9'}} titleStyle={{ color:'#fff', alignSelf:'center' }} >
<Stack key="root" hideNavBar={true}>
<Stack key='auth'>
<Scene key='login' component={LoginForm} title = 'Please login' />
</Stack>
<Stack key='employeeList'>
<Scene
key='_employeeList'
component={EmployeeList}
title ='Employee'
rightTitle="Add"
onRight={()=> Actions.createEmployee()}
initial
rightButtonTextStyle ={{ color:'white',alignSelf:'center',marginRight:5 }}
/>
<Scene
key='createEmployee'
component={EmployeeCreate}
title='Create Employee'
/>
</Stack>
</Stack>
</Router>