인프런 커뮤니티 질문&답변

publik danny님의 프로필 이미지
publik danny

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

더미데이터와 포스트폼 만들기

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

작성

·

267

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

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

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

publik danny님의 프로필 이미지
publik danny

작성한 질문수

질문하기