#javascript #typescript #next.js #typeerror #strapi
Вопрос:
Я работаю над страницей блога для своего веб-сайта, которая основана на Next.js, написанный на машинописном тексте и использующий Strapi в качестве API CMS.
System Information
Strapi Version: 3.6.2
Operating System: Linux
Database: PostgreSQL
Node Version: >=10.16.0 <=14.x.x
NPM Version: >=6.0.0
Yarn Version: 1.22.10
Следующий фрагмент кода из моего интерфейса выдает мне ошибку сервера, в которой говорится, что TypeError: posts.map не является функцией, о которой я понятия не имею, почему.
type BlogPageProps = {
posts: PostData[];
};
const BlogPage = ({ posts }: BlogPageProps) => {
useEffect(() => {
AOS.init({ duration: 700 });
}, []);
return (
<>
<SEO title={`Blog | ${SITE_NAME}`} />
<AnimationContainer animation="appearFromAbove">
{posts.map((post) => (
<PostCard effect="fade-up" key={post.id} post={post} />
))}
</AnimationContainer>
</>
);
};
export default BlogPage;
postData [] — это только тип, состоящий из следующих параметров :
export type PostData = {
id: PostID;
title: string;
content: string;
slug: string;
author: PostAuthor;
category: PostCategory;
created_by: PostCreatedBy;
updated_by: PostCreatedBy;
created_at: string;
updated_at: string;
cover: PostCover;
};
Я думаю, что это должно быть как-то связано с самим API, а не с кодом из интерфейсной разработки, потому что, когда я изменяю API_URL (в настоящее время установлено значение https://major-harpia.herokuapp.com/) для того, который друг использует в качестве своего API, он работает нормально.
Более конкретно, я подозреваю следующие причины :
PostgreSQL — Я не уверен, правильно ли я настроил его на heroku, потому что все, что я сделал, это установил дополнительный токен JWT-С тех пор, как я клонировал репозиторий у кого — то другого, я не создал собственный токен JWT для использования в API.
Пожалуйста, не мог бы кто-нибудь прояснить этот вопрос? Это сводит меня с ума.