I'm trying to use <ReferenceInput>
element with custom dataProvider
and getting this error:
Missing translation for key: "dataProvider is undefined"
It happens even if my data provider looks like this:
import jsonServerProvider from "ra-data-json-server";
import { adminPageTokenFetch } from "APIServices/CRUD";
const dataProvider = jsonServerProvider("/api", adminPageTokenFetch);
export const myDataProvider = {
...dataProvider
}
Example of component using <ReferenceInput>
:
export const SessionEdit = (props: any) => {
return (
<Edit {...props}>
<SimpleForm>
<ReferenceInput source="film" reference="films">
<SelectInput optionText="name" />
</ReferenceInput>
<DateInput source="dateTime" />
<NumberInput source="price" />
<ReferenceInput source="genre" reference="genres">
<SelectInput optionText="name" />
</ReferenceInput>
</SimpleForm>
</Edit>
);
};
Here is my index page:
export const AdminPage = (props: { lang: string }) => {
const messages = {
ru: russianMessages,
en: englishMessages
} as any;
return (
<Provider store={createAdminStore({ myDataProvider, history })}>
<Admin
dataProvider={myDataProvider}
history={history}
title={props.lang === "ru" ? "Админ панель" : "My admin"}
i18nProvider={polyglotI18nProvider(() => messages[props.lang])}
>
<Resource
name="sessions"
list={SessionList}
edit={SessionEdit}
create={SessionCreate}
/>
<Resource name="translations" list={TranslationList} />
</Admin>
</Provider>
);
};
And here is createAdminStore
function:
export default ({ dataProvider, history }: any) => {
const reducer = combineReducers({
admin: adminReducer,
router: connectRouter(history)
});
const saga = function* rootSaga() {
yield all([adminSaga(dataProvider)].map(fork));
};
const sagaMiddleware = createSagaMiddleware();
const store = createStore(
reducer,
compose(applyMiddleware(sagaMiddleware, routerMiddleware(history)))
);
sagaMiddleware.run(saga);
return store;
};
There is how it looks on the UI:
Other components still work fine.