강의

멘토링

로드맵

Inflearn brand logo image

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

hornedllama6님의 프로필 이미지
hornedllama6

작성한 질문수

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

게시글 불러오기

게시물 불러올때 map 함수로 인한 게시물 복제?

해결된 질문

작성

·

319

·

수정됨

1

1.Screenshot 2023-06-08 at 5.03.25 PM.png처음 해당 페이지로 이동시 back에있는 데이터만 정상적으로 불러와집니다.

2.Screenshot 2023-06-08 at 5.03.41 PM.pngScreenshot 2023-06-08 at 5.03.53 PM.png두번쨰 사진과 세번쨰 사진은 다른페이지로 이동했다가 다시 해당페이지로 돌아올때 useEffect 가 정상적으로 실행, map 함수를 통해 새로운 배열을 만들시에 전에있던 배열데이터가 남아있어 동일한 데이터가 계속 쌓이는 상황입니다. 새로고침시에는 다시 정상적으로 한번만 불러와진 데이터만 보인느데 다른 페이지를 다녀와도 map 함수가 실행될때 전에 있던 데이터는 빈배열로 다시 세팅하고 map 함수가 실행되는 방법이 무엇인지 아무리 찾아봐도 해결이 안되네요.. ㅠㅜ 구원의 손길 부탁드립니다

import React, { useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import { Col, Row } from 'antd' import SystemLayout from '../../components/System/SystemLayout'; import SystemCard from '../../components/System/SystemCard'; import { LOAD_SYSTEMS_REQUEST } from '../../reducers/system-post'; const Test = () => { const dispatch = useDispatch(); const { mainSystems } = useSelector((state) => state.systempost); useEffect(() => { dispatch({ type: LOAD_SYSTEMS_REQUEST, }); }, []); return ( <SystemLayout> <Row justify="space-evenly"> {mainSystems.map((systempost) => ( <Col xs={6}> <SystemCard key={systempost.id} systempost={systempost} /> </Col> ))} </Row> </SystemLayout> ); }; export default Test;

Screenshot 2023-06-08 at 5.14.44 PM.png

답변 1

1

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

해당 page 컴포넌트를 unmount할 때 리덕스에서 비워버리면 됩니다.

hornedllama6님의 프로필 이미지
hornedllama6
질문자

구원 감사합니다.. 이론을 한바퀴 돌렸어도 응용하려니 뇌혈관이 막힌것처럼 안떠오르다가 덕분에 뚤려버렸습니다..

imageimageimage

hornedllama6님의 프로필 이미지
hornedllama6

작성한 질문수

질문하기