Большинство компонентовact-admin ожидает, что реквизиты будут передаваться другими родительскими компонентамиact-admin
Реквизиты, ожидаемые TextInput:
https://github.com/marmelab/react-admin/blob/b40229f6974a6ec586d9fc4b6116696df7b2b1d0/packages/ra-ui-materialui/src/input/TextInput.tsx#L88
И по SimpleForm:
https://github.com/marmelab/react-admin/blob/b40229f6974a6ec586d9fc4b6116696df7b2b1d0/packages/ra-ui-materialui/src/form/SimpleForm.js#L51
В этом случае TextInput ожидает родителя SimpleForm (или TabbedForm, Filter и т. Д. c), как вы так и сделали, и SimpleForm обычно ожидает родительского элемента «Редактировать» или «Создать».
Принимая во внимание ошибки, с которыми вы столкнулись, они не будут связаны с ожидаемыми пропавшими опорами, определенными выше, поэтому они, вероятно, произошли из-за того, что находились вне какой-либо реакции. -admin сложный хук область видимости или что-то в этом роде, так что, возможно, просто пропуск реквизита не будет работать.
Вы можете либо попытаться передать реквизит самостоятельно, либо встроить всю книгу рассказов в Администратора, как это делается здесь:
https://marmelab.com/blog/2019/01/17/react-timeline.html
Обновите ваши выводы:
Минимальная настройка, которую я нахожу работающей, такова:
import { Admin, Resource, Layout, SimpleForm, TextInput, required } from 'react-admin'
const NoLayout = props => (
<Layout
appBar={"span"}
sideBar={"span"}
menu={"span"}
{...props}
/>
)
const Dashboard = props => (
<SimpleForm>
<TextInput
source="test" label="Source Name" validate={required()} fullWidth margin="none"
validate={required()}
/>
<TextInput
source="test2" label="Next Field" validate={required()} fullWidth margin="none"
validate={required()}
/>
</SimpleForm>
)
const App = () => {
return (
<Admin dataProvider={{}} menu={"span"} dashboard={Dashboard} layout={NoLayout}>
<Resource name="test"/>
</Admin>
)
}
Вам даже не нужен настоящий поставщик данных. Ресурс предназначен для реагирования админа, не жалующегося на пустого админа. Кроме того, я различал входные источники, при этом оба равны, редактирование одного входа изменяет значение обоих, что, я думаю, не так, как вы хотели