我喜欢为用户资源创建一个新的自定义路由,例如/:id/passreset映射到Passreset组件,类似于/user/:ID/delete
此/串件将打开一个诸如/删除之类的对话框并要求确认。
我做了什么:
-
添加CustomRoutes:
<Route exact path="/users/:id/passreset" component={ActionChangePassword} />
-
用以下方式创建新按钮
containerElement={<Link to={`${linkToRecord(basePath, record.id)}/passreset`} />}
-
创建一个新的动作,并从Admin-Rest Src Mui delete Delete.js
复制内容
但是,它无法正常工作。继续在下面遇到错误。请建议。
谢谢!
TypeError: Cannot read property 'data' of undefined
Function.mapStateToProps [as mapToProps]
src/actionPassReset.js:123
120 | function mapStateToProps(state, props) {
121 | return {
122 | id: decodeURIComponent(props.match.params.id),
> 123 | data: state.admin[props.resource].data[decodeURIComponent(props.match.params.id)] ,
124 | isLoading: state.admin.loading > 0,
125 | };
126 | }
这是因为状态已在1.3.0中重组。我们应该发布了一个新的主要版本,其中有记录的破坏更改。
新状态是state.admin.resources[props.resource].data