Запрос RTK циклически повторяет результат, но не предоставляет ожидаемого содержимого

#javascript #redux-toolkit #rtk-query

Вопрос:

В настоящее время я выполняю учебник по основам Redux и застрял в главе 7: При переключении с классического thunk на RTK query отображение не будет работать:

 content = posts.map(post => <PostExcerpt key={post.id} post={post} />)
 

Сообщение об ошибке выглядит так:

 Unhandled Rejection (TypeError): Cannot read properties of undefined (reading 'title')
 

Чтобы найти причину, я разбил код на что-то простое, как показано ниже:

 } else if (isSuccess) {
    content = '';
    //content = posts.map(post => <PostExcerpt key={post.id} postId={post}/>);
    if (posts !== undefined) {
        for (const post1 in posts)
            if (post1 !== undefined) content  =
                ' loop: '   post1.toString()   ' typ: '   typeof(post1)   ' ID: '   post1.title   '!!';
            else content  = 'kein post';
    }
 

Вывод моего любопытного кода таков:

loop: 0 typ: string ID: undefined!! loop: 1 typ: string ID: undefined!! loop: 2 typ: string ID: undefined!!

Таким образом, он зацикливается, но не имеет правильных значений в переменной. Это странно, так как переменная posts, похоже, содержит правильный контент. Вот результаты оценки:

Оценка переменной quot;должностиquot;

Открытие песочницы в конце упомянутой страницы руководства также не отображает сообщения — так что где-то может быть ошибка.

Поскольку я не нашел описания подобной проблемы, я надеюсь, что вы можете дать мне подсказку о том, что не так.

Комментарии:

1. Можете ли вы подсказать мне, где я могу найти фрагмент кода, который указан в вопросе в поле codesandbox?

2. Цитируемый источник в песочнице находится под src/features/posts/PostsList.js в строке 51

Ответ №1:

Сейчас он работает без проблем. Честно говоря, я, к сожалению, не знаю, почему. Не могу найти никакой разницы в истории моего кода, которая могла бы позволить распознать, что произошло. Странности…