Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs TypeError:对象(…)不是函数Redux存储_Reactjs_Redux_React Redux_Redux Thunk_React Redux Firebase - Fatal编程技术网

Reactjs TypeError:对象(…)不是函数Redux存储

Reactjs TypeError:对象(…)不是函数Redux存储,reactjs,redux,react-redux,redux-thunk,react-redux-firebase,Reactjs,Redux,React Redux,Redux Thunk,React Redux Firebase,有一段时间,我在网上搜索了我在Stack Overflow上找到的所有答案,GitHub与更新React或更正导入拼写有关,我做了所有这些,但仍然堆叠 这是我的商店 import { compose, createStore, applyMiddleware } from 'redux'; import thunk from 'redux-thunk'; import firebase from '../firebase/Firebase'; import { reactReduxFirebas

有一段时间,我在网上搜索了我在Stack Overflow上找到的所有答案,GitHub与更新React或更正导入拼写有关,我做了所有这些,但仍然堆叠

这是我的商店

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

// react-redux-firebase config
const rrfConfig = {
  userProfile: 'users',
  useFirestoreForProfile: true, // Firestore for Profile instead of Realtime DB
  attachAuthIsReady: true, // attaches auth is ready promise to store
};

const store = createStore(
  rootReducer,
  compose(
    reactReduxFirebase(firebase, rrfConfig),
    applyMiddleware(thunk.withExtraArgument({ getFirebase })),
    // for redux dev tools
    window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
  )
);

export default store;
这是我的index.js

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
import { BrowserRouter } from 'react-router-dom';
import 'react-toastify/dist/ReactToastify.css';
import { Provider } from 'react-redux';

// store
import store from '../src/redux/store';

ReactDOM.render(
  // <React.StrictMode>
  <Provider store={store}>
    <BrowserRouter>
      <App />
    </BrowserRouter>
  </Provider>,
  // </React.StrictMode>,
  document.getElementById('root')
);
serviceWorker.unregister();
从“React”导入React;
从“react dom”导入react dom;
导入“./index.css”;
从“./App”导入应用程序;
将*作为serviceWorker从“/serviceWorker”导入;
从“react router dom”导入{BrowserRouter};
导入“react-toastify/dist/react-toastify.css”;
从'react redux'导入{Provider};
//贮藏
从“../src/redux/store”导入存储;
ReactDOM.render(
// 
,
// ,
document.getElementById('root'))
);
serviceWorker.unregister();

经过大量研究,我找到了这个问题的解决方案。 问题在于react-redux firebase包,他们改变了初始化包的方式,这是新的代码结构

商店:

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

// react-redux-firebase config
const rrfConfig = {
  userProfile: 'users',
  useFirestoreForProfile: true, // Firestore for Profile instead of Realtime DB
  attachAuthIsReady: true, // attaches auth is ready promise to store
};
const store = createStore(
  rootReducer,
  compose(
    applyMiddleware(thunk.withExtraArgument({ getFirebase })),
    window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
  )
);
const rrfProps = {
  firebase: firebase,
  config: rrfConfig,
  dispatch: store.dispatch,
  // createFirestoreInstance // <- needed if using firestore
};

export { store, rrfProps };
从'redux'导入{compose,createStore,applyMiddleware};
从“redux thunk”导入thunk;
从“../firebase/firebase”导入firebase;
从'react redux firebase'导入{getFirebase};
从“./reducers/rootReducer”导入rootReducer;
//react redux firebase配置
常数rrfConfig={
userProfile:'用户',
useFirestoreForProfile:true,//Firestore for Profile而不是Realtime DB
AttachAuthReady:true,//attaches auth已准备好存储
};
const store=createStore(
减根剂,
谱写(
applyMiddleware(thunk.withExtraArgument({getFirebase})),
窗口.\uuuuRedux\uDevTools\uuuu扩展&&window.\uuuuRedux\uDevTools\uuuu扩展()
)
);
常数rrfProps={
firebase:firebase,
配置:rrfConfig,
调度:store.dispatch,
//createFirestoreInstance//
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
import { BrowserRouter } from 'react-router-dom';
import 'react-toastify/dist/ReactToastify.css';
import { Provider } from 'react-redux';
import { ReactReduxFirebaseProvider } from 'react-redux-firebase';

// store
import { store, rrfProps } from '../src/redux/store';

ReactDOM.render(
  // <React.StrictMode>
  <Provider store={store}>
    <ReactReduxFirebaseProvider {...rrfProps}>
      <BrowserRouter>
        <App />
      </BrowserRouter>
    </ReactReduxFirebaseProvider>
  </Provider>,
  // </React.StrictMode>,
  document.getElementById('root')
);
serviceWorker.unregister();