如何在react-redux项目中解决此错误
error screenshot
警告:道具类型失败:道具store
在Provider
标记为必需,但其值为undefined
。
在提供者
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import './index.css';
import SignUp from './Components/SignUp'
import SignIn from './Components/SignIn'
import Home from './Components/Home'
import { Router, Route, hashHistory, IndexRoute, browserHistory } from 'react-router';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import {firebaseApp} from './Database/firebaseApp'
import {Provider} from 'react-redux'
import {store} from './Store/Store'
import {logUser} from './Store/Actions'
ReactDOM.render(
<MuiThemeProvider>
<Provider store={store}>
<Router history={browserHistory} >
<Route path="/signup" component={SignUp} ></Route>
<Route path="/signin" component={SignIn} ></Route>
<Route path="/home" component={Home} ></Route>
</Router>
</Provider>
</MuiThemeProvider>
,
document.getElementById('root')
);
//将代码存储在
之下import { createStore, applyMiddleware,combineReducers } from 'redux';
import thunk from 'redux-thunk';
import {createLogger} from "redux-logger";
//import logger from 'redux-logger'
//import rootReducer from './Reducers/rootReducer'
import {authReducer} from "./Reducers/authReducer"
const rootReducer = combineReducers({
authReducer
})
const logger = createLogger();
let store = createStore(rootReducer, applyMiddleware(thunk, logger) );
export default store;
答案 0 :(得分:19)
您导出store
作为默认值:export default store;
您需要以这种方式导入:import store from './Store/Store'
导出有两种:
export myVar
和{
导入}
必须在没有export default myVar
和{
}
这对于从文件导出/导入多个变量/函数非常有用:
// file.js
export a;
export b;
export default c;
//otherfile.js
import c, { a , b} from './file';