无法解析 React-Navigation

Unable to resolve React-Navigation

我是 React Native 新手 我正在尝试在我的项目

的 Routes.js 中 运行 react-native-router-flux
import React, { Component } from 'react';
import {Router, Stack, Scene} from 'react-native-router-flux';
import Login from'./pages/Login';
import Signup from './pages/Signup';

export default class Routes extends Component<{}> {
render() {
    return(
        <Router>
            <Stack key="root" hideNavBar={true}>
                <Scene key="login" component={Login} title="Login" initial={true}/>
                <Scene key="signup" component={Signup} title="Register"/>
            </Stack>
        </Router>
        )
    }
}  

虽然我遇到了这个错误:

Unable to resolve "./createNavigationContainer" from "node_modules\react-navigation\src\react-navigation.js"

我不明白为什么会弹出这个,因为我没有导入 react-navigation。 你能帮帮我吗?

它正在弹出 因为您没有导入 react-navigation。它依赖于 react-navigation,你需要先设置它,检查 "Getting Started" 中的第一项。它是 react-navigation 的替代 API,因此您需要先设置它。

编辑:问题已编辑,因此这不再适用。我认为这是一个版本控制问题:它要求的东西在版本 3 中不再是反应导航的一部分,而是 createAppContainer。因此,要么你使用旧的 API 设置了 react-navigation,但这是行不通的,或者你使用的 flux router 版本有问题

再次编辑:阅读通量路由器的文档仔细。你的版本是基于react-navigation 2的,你用的react-navigation的版本是4,API不一样

要安装特定版本的包,请在安装命令的包名称后使用@,对于 yarn:

yarn add react-navigation@4.x

或者对于 npm

npm install --save react-native-router-flux@4.2.0-beta.1

我建议升级 flux router 而不是降级 react-navigation。

请注意,React navigation 5 (几乎已准备好投入生产,被分成更小的包并且可以使用 @next 版本安装) 有一个 React 组件-基于接口,这与通量路由器定义路由的方式非常相似。 编辑:React Navigation v5 现在已经结束测试版并且 AFAICS 生产就绪(轶事:到目前为止我没有遇到任何错误并且正在生产中使用它),所以我可能建议使用它而不是分层其他图书馆在上面。