Javascript TypeError:undefined不是对象(正在计算';store.getState';)

Javascript TypeError:undefined不是对象(正在计算';store.getState';),javascript,react-native,ecmascript-6,redux,Javascript,React Native,Ecmascript 6,Redux,我正在学习教程 当我在App.js中创建我的商店时,应用程序运行良好 import { createStore, applyMiddleware, compose } from 'redux'; import devTools from 'remote-redux-devtools'; import React, { Component } from 'react'; import { Platform, View } from 'react-native'; import { Provider

我正在学习教程

当我在
App.js
中创建我的商店时,应用程序运行良好

import { createStore, applyMiddleware, compose } from 'redux';
import devTools from 'remote-redux-devtools';
import React, { Component } from 'react';
import { Platform, View } from 'react-native';
import { Provider } from 'react-redux';
import promise from 'redux-promise';
import thunk from 'redux-thunk';
import logger from 'redux-logger';

import { Header, CryptoContainer } from './src/components';
import rootReducer from './src/reducers';    

const middleware = applyMiddleware(thunk, promise, logger);

const Store = createStore(rootReducer, compose(middleware, devTools({
  name: Platform.OS,
  hostname: 'localhost',
  port: 5678
}), ));

export default class App extends Component {
  render() {
    return (
      <Provider store={Store}>
        <View>
          <Header />
          <CryptoContainer />
        </View>
      </Provider>
    );
  }
}
并在App.js中使用它

import React, { Component } from 'react';
import { View } from 'react-native';
import { Provider } from 'react-redux';

import { Header, CryptoContainer } from './src/components';
import { Store } from './src/Store';

export default class App extends Component {
  render() {
    return (
      <Provider store={Store}>
        <View>
          <Header />
          <CryptoContainer />
        </View>
      </Provider>
    );
  }
}
import React,{Component}来自'React';
从“react native”导入{View};
从'react redux'导入{Provider};
从“./src/components”导入{Header,CryptoContainer};
从“./src/Store”导入{Store};
导出默认类应用程序扩展组件{
render(){
返回(
);
}
}
我明白了

TypeError:undefined不是对象(正在计算“store.getState”)


导入
Store.js
时,是什么导致我的构建(
expo start
)失败的?

导入语句似乎不正确。应该是:

import Store from './src/Store';
export default Wrapped; // right!

如果要导入
单个命名导出

e、 g在您完成导出常量MyComponent=()=>{}的地方,您可以像从“/MyComponent”导入{MyComponent}”一样导入它


如果您正在导入一个
默认导出

例如,在您执行
const MyComponent=()=>{}export default MyComponent
的地方,您会像导入“/MyDefaultExport”导入MyDefaultComponent那样导入它。

由于我从我的主应用程序文件导出了错误的组件,所以出现了此错误

我正在导出这个:

import React from 'react'
import { Provider } from 'react-redux'
import { createAppContainer } from 'react-navigation'
import Navigator from './src/components/Navigator'
import { store } from './src/store'

const App = createAppContainer(Navigator);

const Wrapped = props => (
  <Provider store={store}>
    <App />
  </Provider>
)

export default Provider; // wrong!

来自Itunu Adekoya的答案表明,您可以决定如何导出/导入,在本例中是关于个人偏好的,因为没有性能差异


如果您从一个文件中导出了很多内容,可能其中一些内容是不相关的或不会一起使用,那么最好将它们单独导出为常量,然后在其他文件中通过导入{}格式只导入您需要的内容,这将确保只包含相关的改进

您能进一步解释吗?为什么要这样做?这些点背后隐藏着什么?请将所有相关信息添加到答案中,而不是添加到评论部分
export default Wrapped; // right!