Reis
Reis

Reputation: 131

Error: React.Children.only expected to receive a single React element child. (React Admin)

I am starting today to use React Admin framework to build dashboards with reactjs but I am receiving this error when I start my app:

Error: React.Children.only expected to receive a single React element child.

Error

App.js:

import * as React from "react";
import { Admin, Resource } from "react-admin";
import { ItensList } from "./lists/itens";
import { ItensShow } from "./view/itens";
import { ItensCreate } from "./create/itens";
import { ItensEdit } from "./create/itens";
import {
  FirebaseAuthProvider,
  FirebaseDataProvider,
  FirebaseRealTimeSaga,
} from "react-admin-firebase";

const options = {
  lazyLoading: {
    enabled: false,
  },
  logging: true,
  softDelete: true,
};

const config = {
  // firebase auth
};

const dataProvider = FirebaseDataProvider(config, options);
const authProvider = FirebaseAuthProvider(config);

const App = () => (
  <Admin dataProvider={dataProvider} authProvider={authProvider}>
    <Resource
      name="itens"
      list={ItensList}
      show={ItensShow}
      create={ItensCreate}
      edit={ItensEdit}
    />
  </Admin>
);

export default App;

Edit: The resource component is from React Admin.

Upvotes: 0

Views: 83

Answers (1)

TR3
TR3

Reputation: 387

According to the docs...

I believe you are supposed to import only one child into each Resource, and you can destructure from there.

example:

import { CommentList, CommentEdit, CommentCreate, CommentIcon } from './comments';

rather than importing four child components and sending them down through the Resource component.

Upvotes: 1

Related Questions