<resource>组件

时间:2017-09-27 21:24:19

标签: admin-on-rest

我喜欢为用户资源创建一个新的自定义路由,例如/:id / passreset映射到passreset组件,类似于/ user /:id / delete

这个/ passreset会打开一个像/ delete这样的对话框并要求确认。

我做了什么:

  • 添加customRoutes:

    <Route exact path="/users/:id/passreset" component={ActionChangePassword} />
    
  • 创建新按钮:

    containerElement={<Link to={`${linkToRecord(basePath, record.id)}/passreset`} />}
    
  • 从admin-on-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 个答案:

答案 0 :(得分:0)

那是因为该州已在1.3.0中进行了重组。我们应该已经发布了一个新的主要版本,并记录了重大变化。

新状态为state.admin.resources[props.resource].data