web-dev-qa-db-ja.com

警告:失敗したpropタイプ:prop `store`は` Provider`で必須としてマークされていますが、その値は `undefined`です。プロバイダー内

React-reduxプロジェクトでこのエラーを解決する方法 エラースクリーンショット 警告:失敗した支柱タイプ:支柱storeProviderで必須としてマークされていますが、その値は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;
12
Naveed Aheer

storeをデフォルトとしてエクスポートします:_export default store;_

次の方法でインポートする必要があります:_import store from './Store/Store'_

エクスポートには2種類あります。

  • _export myVar_は、_{_および_}_とともにインポートする必要があります
  • _export default myVar_は、_{_および_}_なしでインポートする必要があります

これは、ファイルから複数の変数/関数をエクスポート/インポートするのに便利です。

_// file.js
export a;
export b;
export default c;

//otherfile.js
import c, { a , b} from './file';
_
22
Damien Leroux