• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

더미데이터와 포스트폼 만들기 map관련 질문

22.01.27 17:32 작성 조회수 202

0

mainPosts.map is not a function이라고 에러가 뜹니다.

mainPosts가 배열이 아닐때 이런 에러가 뜬다고 하여 코드를 확인해 보았으나 post.js의 mainPosts는 배열로 되어있었습니다. 이것 외에는 문제해결 방법을 찾을 수가 없어서 이렇게 질문드립니다.

오류가 난 해당 코드는 아래와 같습니다.

import { useSelector } from "react-redux";

import AppLayout from "../components/AppLayout";
import PostForm from "../components/PostForm";
import PostCard from "../components/PostCard";

const Home = () =>{
const { isLoggedIn } = useSelector((state) => state.user);
const { mainPosts } = useSelector((state) => state.post);
return (
<AppLayout>
{isLoggedIn && <PostForm/>}
{mainPosts.map((post) => <PostCard key={post.id} post={post} />)}
윗 부분에서 에러발생했습니다.
</AppLayout>
)
}

export default Home;

답변 1

답변을 작성해보세요.

1

진짜로 배열이 아닌겁니다. 코드에 배열인 것은 코드에서만이고 실제로 실행을 할 때 배열이었다가 배열이 아닌 객체 같은 다른 값으로 바뀌었을 겁니다. 그 원인을 찾아보셔야 합니다. 리덕스 데브툴로 보시면 되겠습니다.