× Тип элемента недопустим: ожидал строку (для встроенных компонентов) или класс / функцию (для составных компонентов), но получил: undefined - PullRequest
0 голосов
/ 02 октября 2019
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();

Недопустимый тип элемента: ожидается строка (для встроенных компонентов) или класс / функция (для составных компонентов), но получено: undefined. Скорее всего, вы забыли экспортировать компонент из файла, в котором он определен, или вы смешали импорт по умолчанию и с именами.

1 Ответ

0 голосов
/ 08 октября 2019

Это сработало для меня. Откройте терминал, перейдите в корневой каталог проекта и обновите ваш react-redux-firebase с помощью этой команды:

npm install react-router-redux@next

Причина в том, что ReactReduxFirebaseProvider не реализован в версии 2.4 react-redux-firebase, что вызывает проблемы с нимобернутый вокруг <App /> компонента.

Вы хотите получить версию 3.0 react-redux-firebase 3.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...