导入'react-redux'和'redux'时出错,同时在PC中使用snack.expo.io网站运行react-native app,在android中使用expo app

时间:2018-03-15 12:17:33

标签: react-native redux react-redux expo

我试图用 redux 制作一个 react-native app ,这是一个计数器。我在PC中使用snack.expo.io网站,在Android中使用 expo app ,因为我无法在我的系统中清楚地运行它。由于受到限制。应用运行但是当我点击任何按钮时,它显示错误:

“无法安装模块'react-redux':
试图导入丢失的模块'redux'
从App.js导入“

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

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

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

查看代码并让我知道我能做些什么。

更新

小吃中可用的所有模块包含'redux'和'react-redux'的文档,如Tetsuya3850的答案所示。

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

3 个答案:

答案 0 :(得分:1)

零食现在不断变化,似乎正在抛出错误的错误。我下载了您的小吃并使用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对象,这可以真正有助于提高性能。
  • Async内置...所以是的
  • 这是一个使用重新匹配https://snack.expo.io/@bacon/rematch-example的示例,注意代码的使用量很少,此示例中的功能也比上面提供的小吃更多。
  • react-navigation合并可能很奇怪,但目前正致力于反应导航的开发人员Brent Vatne表示,无论如何都应该避免使用redux。 ♀️
  • 我与Rematch 没有关联,尽管这似乎是一个非常偏见的评论。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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

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

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

enter image description here