【问题标题】:× Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined× 元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义
【发布时间】:2020-01-31 06:17:01
【问题描述】:
import React from "react";
import ReactDOM from "react-dom";
import "./index.css";
import App from "./App";
import * as serviceWorker from "./serviceWorker";
import { createStore, applyMiddleware, compose } from "redux";
import rootReducer from "./store/reducers/rootReducer";
import { Provider } from "react-redux";
import thunk from "redux-thunk";
import { createFirestoreInstance, getFirestore } from "redux-firestore";
import { ReactReduxFirebaseProvider, getFirebase } from "react-redux-firebase";
import fsConfig from "./config/fsConfig";
import { firebase } from "firebase/app";

const store = createStore(
  rootReducer,
  compose(
    applyMiddleware(thunk.withExtraArgument({ getFirebase, getFirestore }))
    //reduxFirestore(fsConfig),
    //reactReduxFirebase(fsConfig)
  )
);

const rrfProps = {
  firebase,
  config: fsConfig,
  dispatch: store.dispatch,
  createFirestoreInstance
};

//error position=>
ReactDOM.render(
  <Provider store={store}>
    <ReactReduxFirebaseProvider {...rrfProps}>
      <App />
    </ReactReduxFirebaseProvider>
  </Provider>,
  document.getElementById("root")
);

serviceWorker.unregister();

元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。您可能忘记从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入。

【问题讨论】:

    标签: reactjs firebase


    【解决方案1】:

    这对我有用。打开终端,进入项目根目录,并使用以下命令更新您的react-redux-firebase

    npm install react-router-redux@next
    

    原因是 ReactReduxFirebaseProvider 未在 react-redux-firebase 的 2.4 版本中实现,因此导致它被包裹在 &lt;App /&gt; 组件周围的问题。

    您想获得react-redux-firebase 的3.0 版本。

    【讨论】:

      猜你喜欢
      • 2021-06-27
      • 2019-01-16
      • 2020-07-13
      • 1970-01-01
      • 2021-11-11
      • 1970-01-01
      • 2018-02-05
      相关资源
      最近更新 更多