2017-01-31 9 views
5

यहाँ नहीं है मेरे कोड है:प्रतिक्रिया store.getState एक समारोह

store.js

import {createStore, applyMiddleware, compose} from 'redux'; 
import {fromJS} from 'immutable'; 
import {routerMiddleware} from 'react-router-redux'; 
import createSagaMiddleware from 'redux-saga'; 
import createReducer from './reducers'; 

const sagaMiddleware = createSagaMiddleware(); 

export default function configureStore(initialState = {}, history) { 
    // Create the store with two middlewares 
    // 1. sagaMiddleware: Makes redux-sagas work 
    // 2. routerMiddleware: Syncs the location/URL path to the state 
    const middlewares = [sagaMiddleware, routerMiddleware(history)]; 

    const enhancers = [applyMiddleware(...middlewares)]; 

    const store = createStore(createReducer, fromJS(initialState), enhancers); 

    // Extensions 
    store.runSaga = sagaMiddleware.run; 
    store.asyncReducers = {}; // Async reducer registry 

    return store; 
} 

Routes.js

import React from 'react'; 
import {Route, Router, IndexRoute, browserHistory} from 'react-router'; 
import {syncHistoryWithStore} from 'react-router-redux'; 
import store from './store'; 

import Welcome from './containers/Welcome'; 

const history = syncHistoryWithStore(browserHistory, store); 

const routes = (
    <Router history={history}> 
     <Route path="/"> 
       <IndexRoute component={Welcome} /> 
     </Route> 
    </Router> 
); 

export default routes; 

Index.js

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import {browserHistory} from 'react-router'; 
import { Providers } from 'react-redux'; 
import configureStore from './store'; 
import routes from './routes'; 


const initialState = {}; 
const store = configureStore(initialState, browserHistory); 

ReactDOM.render(
    <Provider store={store}> 
     {routes} 
    </Provider>, document.getElementById('main-content') 
); 

मुझे नहीं पता कि अपराधी कहां है। मैंने इसे डीबग करने की कोशिश की, लेकिन यह नहीं मिला कि वास्तव में यह त्रुटि क्या है। त्रुटि: Uncaught TypeError: store.getState एक फ़ंक्शन नहीं है

कोई समाधान?

+0

एक कारण 'है एन्हांसर्स 'एक सरणी है? इसके अलावा आपको रूट स्टोर में अपनी दुकान को प्रारंभ करने की आवश्यकता है। – hunterc

उत्तर

6

ध्यान दें कि आपके Routes.js में store ठीक से प्रारंभ नहीं किया जा रहा है। आप इन पंक्तियों जोड़ना चाहिए:

const initialState = {}; 
    const store = configureStore(initialState, browserHistory); 

अपने index.js फ़ाइल में के रूप में।

2

यह सुनिश्चित नहीं है कि इससे मदद मिलेगी, लेकिन आपने रिएक्ट-रेडक्स लाइब्रेरी से {प्रदाता} के बजाय अपना आयात {प्रदाता} नाम दिया है।

1

मैं इस (एक गतिशील आवश्यकता होती है) कर रहा था ..

const store = require('../store/app') 
    state = store.getState() 

लेकिन का उपयोग करते समय किसी कारण से requireimport के बजाय आप ऐसा करते हैं करने के लिए है ..

const store = require('../store/app') 
    state = store.default.getState() 
संबंधित मुद्दे