我正在学习让我们构建:带有React本机+ 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 } 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>
);
}
}但是当我将存储逻辑移动到一个新文件./src/Store.js时,
import { Platform } from 'react-native';
import { createStore, applyMiddleware, compose } from 'redux';
import devTools from 'remote-redux-devtools';
import promise from 'redux-promise';
import thunk from 'redux-thunk';
import logger from 'redux-logger';
import rootReducer from './reducers';
const middleware = applyMiddleware(thunk, promise, logger);
const Store = createStore(rootReducer,compose(middleware,devTools({
name: Platform.OS,
hostname: 'localhost',
port: 5678
}),
)
);
export default Store;并在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>
);
}
}我得到了
TypeError:未定义不是对象(计算'store.getState')
是什么导致我的构建(expo start)在导入Store.js时失败
发布于 2018-12-12 08:20:47
看来导入语句不对。它应该是:
import Store from './src/Store';发布于 2019-07-01 13:56:41
如果您要导入一个single named export
例如,在您已经完成export const MyComponent = () => {}的地方,您将导入它就像
import { MyComponent } from "./MyComponent"
如果您要导入一个default export
例如,在您已经完成const MyComponent = () => {} export default MyComponent的地方,您将导入它就像
import MyDefaultComponent from "./MyDefaultExport"
发布于 2019-10-24 11:57:47
我得到这个错误是因为我从我的主App文件导出了错误的组件。
我是在出口这个:
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!最后一行应是:
export default Wrapped; // right!https://stackoverflow.com/questions/53737943
复制相似问题