inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

팔로잉한 게시글만 가져오기

mainPosts in reducer 질문 있습니다

321

Ko Yun Hyuk

작성한 질문수 28

0

// reducer
export const initialState = {
mainPosts: [], // 메인 게시글들
imagePaths: [], // 이미지 url
hasMorePosts: true, // 가져오려는 시도
loadPostsLoading: false,
loadPostsDone: false,
loadPostsError: null,
addPostLoading: false,
addPostDone: false,
addPostError: null,
};
 
case LOAD_POSTS_SUCCESS:
return {
...state,
loadPostsLoading: false,
loadPostsDone: true,
mainPosts: state.mainPosts.concat(action.data),
hasMorePosts: state.mainPosts.length < 50 ? true : false,
};
 
function loadPostsAPI(data) {
return axios.get(`http://localhost:3000/posts`, data);
}
 
// saga
function* loadPosts(action) {
try {
// const result = yield call(loadPostsAPI, action.data);
// console.log('result', result);
yield delay(1000);
yield put({
type: LOAD_POSTS_SUCCESS,
data: action.data,
});
} catch (err) {
yield put({
type: LOAD_POSTS_FAILURE,
data: err.response.data,
});
}
}
 

LoadPostRequest 시 전체 게시글을 불러오는데 생성된 글이 없습니다.

그럼 mainPost: []가 빈 배열이어야 하는데 ...
console.log에 찍힌 결과로는 아래와 같이 undefined가 찍혀 나옵니다.

LOAD_POSTS_REQUEST_MainPosts: [undefined]

떄문에 배열에 값이 들어있는 것으로 인식되어

 
이렇게 에러가 나옵니다. loadPosts 시 데이터가 없을 땐 빈배열로 하고싶은데 도무지 파악이 되질 않습니다.
 
일부러 immer를 도입하지 않고 불변성을 지키려하는데
혹시 제가 불변성 관련하여 잘 못하고 있는것인지 조언 부탁드립니다..
 
PS. 게시글을 추가 시 ...
 
mainPosts: dummyPost(action.data).concat(state.mainPosts),
 
ADD_POST_REQUEST 부분은 불변성을 잘 지킨 것인지도 궁금합니다.
 
 
질문이 서툴러 죄송합니다. 좀 더 학습해서 질문 수준도 올릴수 있도록 하겠습니다...
 
참고 github 링크: https://github.com/ko7452/e-Library

express nodejs react redux Next.js

답변 1

1

제로초(조현영)

dummy 부분은 맞습니다. 불변성이 유지됩니다.

윗 문제는 if (action.data)로 감싸서 concat(undefined)가 들어가 [undefined]가 되는 일을 막으셔야 할 것 같습니다.

넥스트 버젼 질문

0

90

2

로그인시 401 Unauthorized 오류가 뜹니다

0

104

1

무한 스크롤 중 스크롤 튐 현상

0

192

1

특정 페이지 접근을 막고 싶을 때

0

116

2

createGlobalStyle의 위치와 영향범위

0

102

2

인라인 스타일 리렌더링 관련

0

98

2

vsc 에서 npm init 설치시 오류

0

157

2

nextjs 15버전 사용 가능할까요?

0

166

1

화면 새로고침 문의

0

129

1

RTK에서 draft, state 차이가 있나요?

0

160

2

Next 14 사용해도 될까요?

0

455

1

next, node 버전 / 폴더 구조 질문 드립니다.

0

359

1

url 오류 질문있습니다

0

214

1

ssh xxxxx로 우분투에 들어가려니까 port 22: Connection timed out

0

391

1

sudo certbot --nginx 에러

0

1293

2

Minified React error 콘솔에러 (hydrate)

0

477

1

카카오 공유했을 때 이전에 작성했던 글이 나오는 버그

0

255

1

프론트서버 배포 후 EADDRINUSE에러 발생

0

337

1

npm run build 에러

0

525

1

front 서버 npm run build 중에 발생한 에러들

0

399

1

서버 실행하고 브라우저로 들어갔을때 404에러

0

350

2

css 서버사이드 랜더링이 적용되지 않아서 문의 드립니다.

0

290

1

팔로워 3명씩 불러오고 데이터 합쳐주는걸로 바꾸고 서버요청을 무한으로하고있습니다.

0

249

2

해시태그 검색에서 throttle에 관해 질문있습니다.

0

206

1