在 dataProvider react-admin 中使用 dispatch
Posted
技术标签:
【中文标题】在 dataProvider react-admin 中使用 dispatch【英文标题】:Use dispatch inside dataProvider react-admin 【发布时间】:2021-01-21 16:06:25 【问题描述】:所以我需要在 dataProvider 中调用 dispatch 来更新状态 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 />
并且 iam 使用 react-redux 中的 connect 将状态作为我的页面组件的 props 发送
const mapStateToProps = (state) => ( uploadProgress: state.uploadProgress );
export default connect(mapStateToProps)(ContentItemEdit);
我将在更新或创建 video_content 时更新uploadProgress 状态,运行上传处理到存储,这将显示进度条,并且我得到了dataProvider 的一些阻塞,因为dataProvider 必须导出为对象不能作为函数来应用连接来调用我的调度,我找不到从 react-admin 使用 connect 或 call store 的方法
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】:你不能在 dataProvider
中调用 dispatch
或 connect
,因为它不知道 React。这是 react-admin 的当前限制。
【讨论】:
好的,谢谢,我已经使用自定义工具栏更改表单提交行为解决了这个问题以上是关于在 dataProvider react-admin 中使用 dispatch的主要内容,如果未能解决你的问题,请参考以下文章
属性“dataProvider”有多个初始值设定项。(注意:“dataProvider”是“mx.charts.BarChart”的默认属性)。
testng dataprovider接入msyql db初始化参数遇见的问题记录
在 dataProvider react-admin 中使用 dispatch