在 redux 选择器中执行检查
Preforming checks in redux selectors
使用 reselect
时,在选择器中预先检查是否正常?
const getComments = state => state.entities.comments;
const getCommentIds = (state, props) => {
const id = props.match.params.post;
const comments = state.pagination.comments[id];
return (comments && !comments.isFetching) ? comments.ids : []; // this line
}
export const getCommentsForPost = createSelector(
[ getComments, getCommentIds ], (comments, ids) => {
return ids.map(id => comments[id]);
}
)
选择器是 public 应用的其余部分访问商店数据的接口。在我看来,通过检查使您的消费应用程序代码更好是好的。
对于上面的特定情况,我可能只是将 isFetching 布尔值也传递给组件,让它处理如何处理它在获取时显示的内容和不获取时显示的内容,但你所拥有的完全是如果它得到您正在寻找的行为,那很好。
使用 reselect
时,在选择器中预先检查是否正常?
const getComments = state => state.entities.comments;
const getCommentIds = (state, props) => {
const id = props.match.params.post;
const comments = state.pagination.comments[id];
return (comments && !comments.isFetching) ? comments.ids : []; // this line
}
export const getCommentsForPost = createSelector(
[ getComments, getCommentIds ], (comments, ids) => {
return ids.map(id => comments[id]);
}
)
选择器是 public 应用的其余部分访问商店数据的接口。在我看来,通过检查使您的消费应用程序代码更好是好的。
对于上面的特定情况,我可能只是将 isFetching 布尔值也传递给组件,让它处理如何处理它在获取时显示的内容和不获取时显示的内容,但你所拥有的完全是如果它得到您正在寻找的行为,那很好。