inflearn logo
강의

Course

Instructor

Creating NodeBird SNS with React

sagas부분에 addPost에서 addPostAPI를 못불러와요...

Resolved

407

ckdwls25250839

7 asked

0

5-16강의 들으면서 게시글 작성하는걸 하고 있는데. 게시글을 올리는 버튼을 눌러도 개발자도구 Netwok랑 console에도 아무런 변화가 없고 Redux에만 ADD_POST_FAILURE만 뜹니다...그래서 제가 console을 찍어봣는데 처음  ADD_POST_REQUEST를 호출하는 PostForm에는 콘솔이 찍히고, 그다음 saga에 addPost도 console에 찍히는데 그다음 addPostAPI에서는 콘솔이 찍히지가 않습니다... 제로초님 깃허브 코드도 비교 해봤는데도 잘 모르겟습니다...

-------------------------------------

--------------------------------------

--------------------------------------

react javascript

Answer 4

1

zerocho

코드상에 에러가 있는 것 같은데요. 사가에서 캐치부분에 console.error(e) 추가해서 에러 확인해보세요.

0

ckdwls25250839

console.error(e) 하니깐 잘못된 부분이 call을 호출 하지 않앗엇네요ㅜㅜ....에러난곳을 로그를 찍어본다는걸 생각 못햇습니다 ㅜㅜ 정말 감사합니다 제로초님!!!

0

ckdwls25250839

네트워크탭 부분입니다.

---------------------------

components에 UserProfile 부분입니다.

const PostForm = () => {
const dispatch = useDispatch();
const [text, setText] = useState("");
const { imagePaths, isAddingPost, postAdded } = useSelector(
state => state.post
);

useEffect(() => {
setText("");
}, [postAdded === true]);

const onSubmitForm = useCallback(
e => {
e.preventDefault();
if (!text || !text.trim()) {
return alert("게시글을 작성하세요.");
}
console.log("PostForm");
dispatch({
type: ADD_POST_REQUEST,
data: {
content: text.trim()
}
});
},
[text]
);

const onChangeText = useCallback(e => {
setText(e.target.value);
}, []);

---------------------------

sagas/post에 addpost 부분 3종 셋트입니다.

function addPostAPI(postData) {
console.log("addPostAPI");
return axios.post("/post/", postData, {
withCredentials: true
});
}

function* addPost(action) {
try {
console.log("addPost1");
const result = yield call(addPostAPI, action.data);
console.log("addPost2");
yield put({
type: ADD_POST_SUCCESS,
data: result.data
});
} catch (e) {
yield put({
type: ADD_POST_FAILURE,
error: e
});
}
}

function* watchAddPost() {
console.log("watchAddPost");
yield takeLatest(ADD_POST_REQUEST, addPost);
}

---------------------------

back/routes/post 부분입니다.

router.post('/', async (req, res, next) => { // POST /api/post
try {
const hashtags = req.body.content.match(/#[^\s]+/g);
const newPost = await db.Post.create({
content: req.body.content, // ex) '제로초 파이팅 #구독 #좋아요 눌러주세요'
UserId: req.user.id,
});
if (hashtags) {
const result = await Promise.all(hashtags.map(tag => db.Hashtag.findOrCreate({
where: { name: tag.slice(1).toLowerCase() },
})));
console.log(result);
await newPost.addHashtags(result.map(r => r[0]));
}
// const User = await newPost.getUser();
// newPost.User = User;
// res.json(newPost);
const fullPost = await db.Post.findOne({
where: { id: newPost.id },
include: [{
model: db.User,
}],
});
res.json(fullPost);
} catch (e) {
console.error(e);
next(e);
}
});

---------------------------

혹시 몰라서 지금 오류난 깃 허브 주소 입니다.

https://github.com/park-chang-jin/react_nodebird

(ch5_1 부분이 오류난 곳입니다)

0

zerocho

네트워크 탭 보여주시고요. 코드 라인을 정리해주세요. shift+alt+f입니다.

next 10 이상에서는 redux dev tool 구동이 안되나요?

0

269

1

세션 갱신 문의 건

0

473

7

배포 진행 후 Highlight updates components render 표시

0

444

1

똑같은 기능을 하는 테이블

0

446

4

관계형

0

310

2

프론트 서버를 이용하지 않는경우

1

293

3

인피니트 스크롤링 사용시 오류

0

277

0

계속 이런에러가 떠서 해결하기는 했는데 어떤 의미인지 모르겠습니다.

0

430

2

req.user가 언제 생성되나요??

0

326

2

Cannot read property 'id' of null 에러

0

330

1

리트윗한 게시글 불러오는 sequelize

0

251

1

result.data에서 images인 이유

0

278

2

takeLatest에 대한 질문입니다.

1

339

2

프론트에서 express를 사용하지 않을때 동적라우팅

0

493

6

getInitialProps가 클라이언트에서 수행되는 이유?

0

256

1

리로드하면 팔로우 언팔로우 값이 초기화 되는 문제입니다.

0

443

2

스타일드 컴포넌트와 className을 통한 스타일 적용의 차이에 대해 궁금합니다

0

585

2

할인 쿠폰 사용이 안되는되요 (848-f9af83f183e3)

0

363

1

nodejs mvc 패턴

0

975

4

사용하고 보니, 람다 구성이 궁금합니다!

0

264

1

제로초님

0

442

1

새로고침 로그인 풀림 문제.

0

246

1

안녕하세요. 강의 너무 감사합니다

0

155

1

제로초님

0

169

1