users도 마찬가지로 데이터가 배열 형태로 들어올 것을 기대하고 map 함수를 사용하고 있습니다. 하지만 유효성 검사를 하지 않으면 null 값에 대해 map 함수를 호출하고, 결국 map 함수가 존재하지 않아 오류가 발생합니다.
이제 컨테이너 컴포넌트를 만들어 봅시다.
containers/SampleContainer.js
import React from 'react'; import { connect } from 'react-redux'; import Sample from '../components/Sample'; import { getPost, getUsers } from '../modules/sample'; const { useEffect } = React; const SampleContainer = ({ getPost, getUsers, post, users, loadingPost, loadingUsers }) => { // 클래스 형태 컴포넌트였다면 componentDidMount useEffect(() => { getPost(1); getUsers(1); }, [getPost, getUsers]); return ( <Sample post={post} users={users} loadingPost={loadingPost} loadingUsers={loadingUsers} /> ); }; export default connect( ({ sample }) => ({ post: sample.post, users: sample.users, loadingPost: sample.loading.GET_POST, loadingUsers: sample.loading.GET_USERS }), { getPost, getUsers } )(SampleContainer);