【问题标题】:Error importing 'react-redux' and 'redux', while running react-native app using snack.expo.io website in PC and expo app in android导入“react-redux”和“redux”时出错,同时使用 PC 中的小吃.expo.io 网站和 android 中的 expo 应用程序运行 react-native 应用程序
【发布时间】:2018-08-24 06:06:27
【问题描述】:

我试图用 redux 制作一个 react-native 应用,这是一个 counter。我在 PC 中使用snack.expo.io 网站,在 Android 中使用 expo 应用程序,因为由于限制,我无法在我的系统中简单地运行它。应用程序运行但当我单击任何按钮时,它显示错误:

" 安装模块 'react-redux' 失败:
尝试导入缺少的模块“redux”
从 App.js 导入”

The snack.expo.io page i made is given here

我确实将 'redux''react-redux' 添加到 package.json 文件中。它仍然显示相同的错误。
我做错了什么,或者有没有其他方法可以在 expo 中使用“redux”和“react-redux”?

我看到同一个应用程序正在使用 npm 和 all 的系统上运行。所以我怀疑这是snack.expo.io 的问题,因为提到的库的导入不起作用。

请仔细阅读代码,让我知道我能做什么。

更新:

所有可用模块的文档都包含“redux”和“react-redux”,如 Tetsuya3850 的回答所示。

https://forums.expo.io/t/modules-available-in-snack/1651

【问题讨论】:

    标签: react-native redux react-redux expo


    【解决方案1】:

    Snack 一直在不断变化,现在它似乎抛出了错误的错误。我下载了你的零食并使用exp the expo command line tool 运行它。这揭示了一些可以简单解决的语法错误! ?

    • counterActions.AddNumber -> counterActions.addNumber
    • counterActions.DecrementCount -> counterActions.decrementCount
    • 还有另一个与格式化有关的错误:Actions must be plain objects. Use custom middleware for async actions.

    我会和 TC 分享这个,他是开发零食的,他很擅长 解决这些问题。?


    一个懒人对 Redux 的看法

    您似乎遇到了标准 Redux 的一些常见错误。
    标准 Redux 让我感到胸痛 ? - 我强烈推荐使用 Rematch! ??

    • Rematch 是 Redux 的标准格式,您可能已经注意到 每个人的格式都略有不同。
    • 代码更少,更易于管理。由于它的结构,您倾向于使用更浅的 redux 对象,这可以真正提高性能。
    • 异步是内置的......所以是的
    • 这是一个使用 rematch 的反例
    • react-navigation 结合可能会很奇怪,但目前正在研究 react-navigation 的开发人员 Brent Vatne 说无论如何你都应该避免使用 redux。 ?‍♀️
    • 我与 Rematch不隶属,尽管这似乎是一个非常有偏见的评论。 ?

    【讨论】:

    • 同意使用重新匹配。我是该项目的次要贡献者。它极大地简化了 redux。
    【解决方案2】:

    我认为你可以在零食中使用的包装是有限的。 (https://forums.expo.io/t/modules-available-in-snack/1651)

    但限制是实时变化的? (https://forums.expo.io/t/adding-new-modules-to-expo-snack/1496/4)

    【讨论】:

    • 'redux' 和 'react-redux' 显示在“零食中可用的模块”中。现在那是我不明白的。起初,当我保存零食时,它会显示“没有错误”,当我扫描 QR 码时,会显示应用程序,但是当我单击按钮时(库的位置),它会显示错误,因为我问题中描述。
    【解决方案3】:

    对于遇到同样问题的thouse,您可以手动将其添加到依赖项列表中。

    转到package.json,在依赖项使用以下格式 "package": "version",你可能想查看你的包的当前版本 即:

    "dependencies":{
        "redux": "4.0.5",
        "react-redux": "7.2.1",
    }
    

    你之前或之后可能有其他依赖项。

    enter image description here

    【讨论】:

      猜你喜欢
      • 2016-11-05
      • 2019-02-04
      • 2021-01-11
      • 2017-08-20
      • 1970-01-01
      • 2021-11-11
      • 2020-05-10
      • 2019-08-20
      • 1970-01-01
      相关资源
      最近更新 更多