Ich benutze React und Redux, webSocket, um mit einigen serverseitigen Ereignissen umzugehen.verwenden Speicherfunktionen (Versand, GetState,) außerhalb Komponenten (externes Modul dh WebSocket)
Ich bin in der Lage, Aktionen von der Komponente zu senden, die dem Dispatcher über die Funktion mapDispatchToProps()
eine Funktion zuweist.
Aber was ist mit der Abfeuerung außerhalb der Komponenten? Zum Beispiel bei der empfangenen WebSocket-Veranstaltung.
Aufruf store.dispatch
aus einem anderen Skript wird ein Referenz Fehler zurück (Versand nicht definiert ist), auch wenn der Laden richtig
Gibt es eine Möglichkeit, dies zu tun?
Hier ist meine App-Store-Konfigurationsfunktion:
import { createStore, combineReducers, applyMiddleware, compose } from 'Redux'
import thunk from '../../node_modules/redux-thunk/src/index'
import rootReducer from '../reducers/index'
const configureStore = (initialState) => {
return createStore(
rootReducer,
initialState,
compose(
applyMiddleware(thunk),
window.devToolsExtension ? window.devToolsExtension() : f => f
)
)
}
export default configureStore
hier App Einstiegspunkt, wo instanziiert Shop:
import React, { Component } from 'React'
import { render } from 'ReactDOM'
import { Provider } from 'ReactRedux'
import { Router, hashHistory } from 'ReactRouter' //browserHistory
import actions from './actions/actions'
import configureStore from './store/configureStore'
import routes from './routes'
const store = configureStore()
console.log('store log', store)
window.storeDebug = store.getState() // FIXME: disable in production
render(
<Provider store={store}>
<Router history={hashHistory} routes={routes} />
</Provider>,
document.getElementById('container')
)