Получение предупреждения при добавлении реквизита noLayout в список пользовательских маршрутов в react-admin

#react-router-dom #react-admin

#react-router-dom #react-admin

Вопрос:

Как удалить следующее предупреждение или любой альтернативный способ добавления пользовательских маршрутов в react-admin без AppLayout по умолчанию?

Предупреждение: Вы не должны использовать <Route component> и <Route render> в том же маршруте; <Route render> будут проигнорированы

 import React, { Component } from 'react';
import { Admin, Resource } from 'react-admin';
import { Route } from 'react-router-dom';
import restProvider from 'ra-data-simple-rest';

class App extends Component {
  render() {
    return (
      <Admin
        title="react-admin"
        dataProvider={restProvider('http://localhost:3000')}
        customRoutes={[<Route exact path="/custom" component={()=><div>Custom page without layout</div>} noLayout /> ]}
      >
        <Resource name="test" list={() => <div>Test Resource</div>} />
      </Admin>
    );
  }
}

export default App;
  

Ответ №1:

Используйте дочерние элементы вместо компонента в вашем маршруте:

 class App extends Component {
  render() {
    return (
      <Admin
        title="react-admin"
        dataProvider={restProvider('http://localhost:3000')}
        customRoutes={[<Route exact path="/custom" noLayout><div>Custom page without layout</div></Route>]}
      >
        <Resource name="test" list={() => <div>Test Resource</div>} />
      </Admin>
    );
  }
}

export default App;
  

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

1. Возможно ли получить доступ к this.props.match.params изнутри внутреннего компонента?