React native 不变冲突:找不到“;商店「;在任何一种情况下的道具;连接(应用程序)";

React native 不变冲突:找不到“;商店「;在任何一种情况下的道具;连接(应用程序)";,react-native,redux,react-redux,React Native,Redux,React Redux,注意,在阅读之前,我已经了解了以下内容: 此外,我还遵循了此处显示的教程: 主要区别在于我使用了create react native app来初始化我的项目,而视频创建者没有这样做 我想知道是否有可能让connect识别所有组件,同时将App组件作为js常量保存在App.js中。 当我转而使用javascript类时,前面提供的解决方案会起作用: 类应用程序扩展React.Component{等 代码可在以下位置获得: 我想找出“商店”的根本原因未被识别。称之为顽固,但我很想知道是否有人

注意,在阅读之前,我已经了解了以下内容:

此外,我还遵循了此处显示的教程:

主要区别在于我使用了
create react native app
来初始化我的项目,而视频创建者没有这样做

我想知道是否有可能让connect识别所有组件,同时将App组件作为js常量保存在
App.js
中。 当我转而使用javascript类时,前面提供的解决方案会起作用:

类应用程序扩展React.Component{

代码可在以下位置获得:


我想找出“商店”的根本原因未被识别。称之为顽固,但我很想知道是否有人找到了解决此问题的方法。

错误的根本原因是,当我们组合react redux应用程序时,我们应该看到一个结构,其中顶部有
Provider
标记,该标记具有redux存储的实例

然后,
Provider
标记呈现您的父组件,让我们称之为
App
组件,它依次呈现应用程序中的所有其他组件

这里是关键部分,当我们用
connect()
函数包装一个组件时,
connect()
函数希望看到层次结构中具有
Provider
标记的某个父组件

因此,您将
connect()
函数放入其中的实例将查找层次结构,并尝试查找
提供程序

这是您希望发生的事情,但在您的测试环境中,流正在崩溃。

导入

import {connect} from "react-redux";
而不是

import connect from "react-redux/es/connect/connect";

也许可以试试我在这里做的改动:(我可能最终会把它记下来,以供参考)。我很确定它不会有多大作用,但我只是查看了您的代码,并注意到您可以简化
/configureStore.js
,方法是不导出函数,然后在索引文件中更直接地使用它,而不是创建中间变量。感谢您提出层次结构!