#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. хорошо, спасибо, я уже решаю эту проблему, используя Изменение поведения отправки формы с помощью пользовательской панели инструментов