У меня возникла проблема с applyMiddleware в моем приложении react

#reactjs

#reactjs

Вопрос:

импортируйте React из «react»;

импортируйте ReactDOM из «react-dom»;

импортируйте приложение из «./ App»;

импортируйте rootReducer из ‘./components / store / reducers / rootReducer’

импортируйте {createStore, applyMiddleware, compose} из ‘redux’

импортируйте { Provider} из ‘react-redux’

импортируйте thunk из ‘redux-thunk’

импортируйте {reduxFirestore,getFirestore} из ‘redux-firestore’

импортируйте {reactReduxFirebase,getFirebase} из ‘react-redux-firebase’

импортируйте FBConfig из ‘./ config/ FBConfig’

const store = createStore(rootReducer, // средства улучшения хранилища составляют (applyMiddleware (thunk.С помощью extraargument({getFirebase,getFirestore})),

     reduxFirestore(fbConfig),

    reactReduxFirebase(fbConfig),
)  
  

);

ReactDOM.render(,document.getElementById («root»));

Комментарии:

1. Исправьте код вашего вопроса, отформатировав его? Выделите код и нажмите ctrl k. Также, пожалуйста, поделитесь, в чем текущая проблема. Вы получаете ошибку компилятора? Происходит ли сбой при попытке запустить ваш сервер? Или это ошибка времени выполнения в браузере?

Ответ №1:

было бы неплохо, если бы вы добавили некоторые подробности или ошибки о том, что на самом деле происходит в вашем приложении. Вы определенно получите больше полезных обращений, если предоставите более подробную информацию.

На первый взгляд кажется, что ваша настройка не соответствует предлагаемой настройке для промежуточного программного обеспечения thunks

и что вместо передачи вашей конфигурации в хранилище вы передаете ее поставщику ReactRedux Firebase

createStore.js

 import { applyMiddleware, compose, createStore } from 'redux';
import thunk from 'redux-thunk';
import { getFirebase } from 'react-redux-firebase'
import makeRootReducer from './reducers';

const fbConfig = {} // your firebase config
const middlewares = [
  thunk.withExtraArgument(getFirebase)
]
const store = createStore(
  makeRootReducer(),
  initialState,
  compose(
    applyMiddleware(...middlewares),
  )
);
  

App.js

 import React from 'react'
import { Provider } from 'react-redux'
import firebase from 'firebase/app'
import 'firebase/auth'
import 'firebase/database'
import 'firebase/firestore' // make sure you add this for firestore
import { ReactReduxFirebaseProvider } from 'react-redux-firebase';
import { createFirestoreInstance } from 'redux-firestore';
import Home from './Home'
import createStore from './createStore'
import { firebase as fbConfig, reduxFirebase as rfConfig } from './config'
import './App.css'

// Initialize Firebase instance
firebase.initializeApp(fbConfig)

const initialState = window amp;amp; window.__INITIAL_STATE__ // set initial state here
const store = createStore(initialState)

export default () => (
  <Provider store={store}>
    <ReactReduxFirebaseProvider
      firebase={firebase}
      config={rfConfig}
      dispatch={store.dispatch}
      createFirestoreInstance={createFirestoreInstance}>
      <Home />
    </ReactReduxFirebaseProvider>
  </Provider>
)