React Admin,为列表定义自定义传奇
React Admin, define custom saga for List
是否可以为 List 组件定义自定义 saga?我的意思是,当挂载 List 时,它会自动调度 RA/CRUD_GET_LIST
动作(由于从父组件传递下来的道具),从服务器获取数据。我想用不同的行为定义我自己的 RA/CRUD_GET_LIST
,这可能吗?
列表组件:
<List
{...this.sanitizeProps(this.props)}
filter={{ userId: userId }}
title="History"
perPage={10}
>
<DataGridComponent />
</List>
用sanitizeProps
我过滤了我需要的道具并传递了其他的。
我需要等待的资源是:<Resource name="user" />
我正在从我的自定义减速器中获取 userId
:
const mapStateToProps = state => ({
userId: state.userReducer.user.id
});
要回答你的问题,不,这是不可能的。但是,您可以通过将 List 包装在一个连接的组件中来实现您想要的结果,并且只有当您有 user_id 时它才会呈现 List
。否则,只是 return null 或表示您正在加载内容的内容。
const MyConnectedList = ({ userId, ...props }) =>
userId
? (
<List
{...this.props}
filter={{ userId }}
title="History"
perPage={10}
>
<DataGridComponent />
</List>
)
: null
是否可以为 List 组件定义自定义 saga?我的意思是,当挂载 List 时,它会自动调度 RA/CRUD_GET_LIST
动作(由于从父组件传递下来的道具),从服务器获取数据。我想用不同的行为定义我自己的 RA/CRUD_GET_LIST
,这可能吗?
列表组件:
<List
{...this.sanitizeProps(this.props)}
filter={{ userId: userId }}
title="History"
perPage={10}
>
<DataGridComponent />
</List>
用sanitizeProps
我过滤了我需要的道具并传递了其他的。
我需要等待的资源是:<Resource name="user" />
我正在从我的自定义减速器中获取 userId
:
const mapStateToProps = state => ({
userId: state.userReducer.user.id
});
要回答你的问题,不,这是不可能的。但是,您可以通过将 List 包装在一个连接的组件中来实现您想要的结果,并且只有当您有 user_id 时它才会呈现 List
。否则,只是 return null 或表示您正在加载内容的内容。
const MyConnectedList = ({ userId, ...props }) =>
userId
? (
<List
{...this.props}
filter={{ userId }}
title="History"
perPage={10}
>
<DataGridComponent />
</List>
)
: null