【问题标题】:Unable to resolve React-Navigation无法解决反应导航
【发布时间】:2020-01-03 19:46:26
【问题描述】:

我是 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。 你能帮帮我吗?

【问题讨论】:

  • 请分享您的一些代码,以便我们更好地帮助您。

标签: javascript reactjs react-native react-navigation react-native-router-flux


【解决方案1】:

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

编辑:问题已被编辑,因此不再适用。我认为这是一个版本控制问题:它要求的东西在版本 3 中不再是 react-navigation 的一部分,而是 createAppContainer。因此,要么您使用较旧的 API 设置了 react-navigation,但该 API 无法正常工作,或者您使用的通量路由器版本存在问题

再次编辑:仔细阅读通量路由器的文档。你的版本是基于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

我建议升级通量路由器而不是降级 react-navigation。

请注意,React navigation 5 (几乎可以投入生产,被分解成更小的包,并且可以使用 @next 版本安装) 具有基于 React 组件的界面,与通量路由器如何定义路由。 编辑:React Navigation v5 现在已经过测试版并且已准备好 AFAICS 生产(有趣的是:到目前为止,我没有遇到任何错误并且正在生产中使用它),所以我可能会建议使用它而不是在上面分层其他库顶部。

【讨论】:

  • 我也需要在 Routes.js 上导入 react-navigation 吗?
  • 啊,等一下,你用的是什么版本?导航和通量路由器?
  • 如何查看版本?
  • 查看 package.json
  • 反应导航“反应导航@4.0.10”
猜你喜欢
  • 2017-08-20
  • 2021-12-06
  • 2020-12-16
  • 2021-09-13
  • 2018-05-24
  • 1970-01-01
  • 2020-02-03
  • 2020-12-29
  • 2020-04-11
相关资源
最近更新 更多