reactjs - 在 dataProvider react-admin 中使用 dispatch
问题描述
所以我需要在 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 将状态作为我的页面组件的道具发送
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,
}
“反应管理员”:“^3.8.3”,
解决方案
您不能调用dispatch
or connect
,dataProvider
因为它不了解 React。这是 react-admin 的当前限制。
推荐阅读
- json - FTL eval_json 失败
- c++ - C++11,在成员函数中使用 printf("%p", *this) 会调用析构函数,为什么?
- python - 为什么 doxygen 不显示带注释的公共属性?
- javascript - 渲染过程中未定义的上下文桥中的 API
- python - Repl.it 环境秘密变量是 None 类型
- java - 为什么我需要添加双引号来打印java中char数组的第一个和最后一个元素
- javascript - 如何创建一次 p 元素函数并在每个函数中使用它以在屏幕上打印
- amazon-web-services - 用于多个项目的 Terraform 和 Gitlab CI 管道
- java - 在 Java 中复制 OPENSSL dgst 命令
- java - 如何创建一个 flink https 请求