首页 > 解决方案 > 我对“RTK 查询”有一些问题

问题描述

最近我刚刚开始在 redux.js.org 中阅读 RTK Query 的文档,并且了解文档的主项目没有显示CodeSandbox中的帖子,并且除了应该加载的帖子列表之外,只有 [object Object] 很明显默认项目中包含的假服务器。其次,我无法管理 PostsList 页面(redux 主项目(简单社交媒体)中包含的页面)中的错误。

功能/帖子/PostsList.js

 export const PostList = () => {
  const {
    data: posts = [],
    isSuccess,
    isLoading,
    isError,
    error,
  } = useGetPostsQuery()

  const orderedPosts = useMemo(() => {
    console.log(posts)
    const ordered = posts.posts.slice()
    ordered.sort((a, b) => b.date.localeCompare(a.date))
    return ordered
  }, [posts])

刚刚将 [] 作为帖子值然后出现此错误“无法读取未定义的属性(读取'切片')”

并且整个 redux 的主要项目都可以在这个链接 rtk-query-basics中访问

标签: reduxredux-toolkitrtk-query

解决方案


我相信问题出在以下行:

const ordered = posts.posts.slice()

它正在尝试访问数组posts上的属性,该属性返回(很可能是错字)。这将解释错误消息,因为它不是数组,因此没有方法。postsundefinedundefinedslice

要解决此问题,请将行修改为如下所示:

const ordered = posts.slice()

推荐阅读