Использовать отправку внутри dataProvider react-admin

#reactjs #redux #react-redux #react-admin

#reactjs #redux #реагировать-redux #реагировать-администратор

Вопрос:

итак, мне нужна отправка вызовов внутри dataProvider для обновления состояния uploadProgress для загрузки видео в моей форме, я уже использую customReducers в

 //reducers
const uploadProgress = (previousState = 0, { type, payload }) => {
if (type === "ADD_PROGRESS") {
 return payload;
}
 return previousState;
};

//Admin
 <Admin
  dataProvider={dataProvider}
  dashboard={Dashboard}
  loginPage={LoginPage}
  authProvider={authProvider}
  history={history}
  customReducers={{ uploadProgress }}
  layout={Layout}
  customRoutes={customRoutes}
> .... <Admin />
  

и я использую connect из react-redux для отправки состояния в качестве реквизита для моего компонента страницы

 const mapStateToProps = (state) => ({ uploadProgress: state.uploadProgress });

export default connect(mapStateToProps)(ContentItemEdit);
  

я обновлю состояние uploadProgress при обновлении или создании video_content, запущу обработку загрузки в хранилище, на котором будет отображаться индикатор выполнения, и я получаю некоторую блокировку с помощью dataProvider, потому что dataProvider должен экспортировать как объект, который не может быть функцией, чтобы применить connect для вызова моей отправки, я не могу найти способ использовать connect или call store из react-администратор

   const dataProvider = {
    getList:    (resource, params) => Promise,
    getOne:     (resource, params) => Promise,
    getMany:    (resource, params) => Promise,
    getManyReference: (resource, params) => Promise,
    create:     (resource, params) => Promise,
    update:     (resource, params) => Promise,
    updateMany: (resource, params) => Promise,
    delete:     (resource, params) => Promise,
    deleteMany: (resource, params) => Promise,
}
  

«react-admin»: «^ 3.8.3»,

Ответ №1:

Вы не можете вызвать dispatch or connect в a dataProvider , поскольку он не знает о React . Это текущее ограничение react-admin.

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

1. хорошо, спасибо, я уже решаю эту проблему, используя Изменение поведения отправки формы с помощью пользовательской панели инструментов