inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

credentials로 쿠키 공유하기

ADD_POST_TO_ME 질문있습니다.

240

Ko Yun Hyuk

작성한 질문수 28

0

게시글을 추가할 때(ADD_POST)는 잘 됩니다.
그런데 ADD_POST_TO_ME 를 할 때 문제가 발생합니다.

1. me.Posts 에 id 값만 넣었을 경우

case ADD_POST_TO_ME:
console.log('action.data: ', action.data);
console.log('draft.me: ', state.me);
draft.me.Posts = action.data
break;

이 코드는 action.data를 통해 id 값을 잘 받아오는지 테스트를 위해 작성했습니다. 결과는 아래와 같습니다.

me.Posts가 생겼고 값으로 id값이 잘 들어갑니다.

그러나 문제는 unshift를 통해 넣었을때 발생합니다.

2. me.Posts.unshift({id: action.id})

case ADD_POST_TO_ME:
console.log('action.data: ', action.data);
console.log('draft.me: ', state.me);
draft.me.Posts.unshift({ id: action.data });
break;

위와 같이 작성할 경우 아래와 같은 에러가 생기며
ADD_POST_TO_ME action이 실행되지 않습니다.

reducer에서 문제가 생기는것 같은데.. 혹시 me의 상태가 객체여서 그런것일까요? 

문제가 무엇인지 파악하기 어려워 조언을 구합니다.

 

3. redux-saga (post.js)

function addPostAPI(data) {
return axios.post('/post', data);
// { title: data.title, category: data.category, content: data.content }
}

function* addPost(action) {
try {
const result = yield call(addPostAPI, action.data);
// console.log('result', result.data.id);
yield put({
type: ADD_POST_SUCCESS,
data: result.data,
});
yield put({
type: ADD_POST_TO_ME, // 사용자 본인의 POST에 추가
data: result.data.id,
});
} catch (err) {
yield put({
type: ADD_POST_FAILURE,
error: err.response.data,
});
}
}

결과 값(result)은 잘 받아옵니다.

 

참고: https://github.com/ko7452/e-Library/tree/master/prepare

nodejs express redux react Next.js

답변 2

1

제로초(조현영)

draft.me.Posts가 배열이 맞나요? 에러메시지가 뜨면 에러 위치를 한 번 눌러보세요. addPost$ 옆에 post.js:85:27 이렇게 위치가 잘 나와있습니다.

0

Ko Yun Hyuk

back/routes/user.js

늦은 시간 죄송하고.. 답변 감사합니다. include 문제였습니다..

넥스트 버젼 질문

0

87

2

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

0

99

1

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

0

184

1

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

0

110

2

createGlobalStyle의 위치와 영향범위

0

99

2

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

0

95

2

vsc 에서 npm init 설치시 오류

0

152

2

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

0

164

1

화면 새로고침 문의

0

127

1

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

0

157

2

Next 14 사용해도 될까요?

0

455

1

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

0

354

1

url 오류 질문있습니다

0

213

1

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

0

387

1

sudo certbot --nginx 에러

0

1287

2

Minified React error 콘솔에러 (hydrate)

0

474

1

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

0

253

1

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

0

332

1

npm run build 에러

0

524

1

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

0

395

1

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

0

343

2

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

0

290

1

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

0

247

2

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

0

204

1