我在应用中使用 React 导航作为我的路由器,但我想对我的 WelcomeScreen 组件进行单元测试。当我尝试运行一个简单的测试时,我收到此错误:
我正在使用 Enzyme,但尝试过测试库,结果也是如此。
Couldn't find a navigation object. Is your component inside a screen in a navigator?
12 |
13 | const WelcomeScreen = () => {
> 14 | const navigation = useNavigation()
| ^
15 |
16 | return (
17 | <Screen>
我该如何解决这个问题? 谢谢。
编辑:(添加导航组件)
const Stack = createStackNavigator()
const { Navigator, Screen } = Stack
const Navigation = () => {
return (
<NavigationContainer>
<Navigator initialRouteName={'Welcome'} headerMode="none">
<Screen name="Welcome" component={WelcomeScreen} />
<Screen name="ListCats" component={ListScreen} />
<Screen name="AddCat" component={AddScreen} />
<Screen name="EditCat" component={EditScreen} />
<Screen name="Cat" component={CatScreen} />
</Navigator>
</NavigationContainer>
)
}
export default Navigation