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

asdzxc566님의 프로필 이미지
asdzxc566

작성한 질문수

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

사용자 게시글, 해시태그 게시글

An unexpected error has occurred. 이런 오류가 계속 뜨네요

해결된 질문

작성

·

4.4K

0

이런식으로 계속 오류가 뜨네요..

아무 에러도 나오지 않아요.. 

router/user.j

router.get('/:userId/posts', async (req, res, next) => { // GET /user/1/posts
try {
const where = { UserId: req.params.userId };
if (parseInt(req.query.lastId, 10)) { // 초기 로딩이 아닐 때
where.id = { [Op.lt]: parseInt(req.query.lastId, 10)}
} // 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
const posts = await Post.findAll({
where,
limit: 10,
order: [['createdAt', 'DESC']],
include: [{
model: User,
attributes: ['id', 'nickname'],
}, {
model: Image,
}, {
model: Comment,
include: [{
model: User,
attributes: ['id', 'nickname'],
order: [['createdAt', 'DESC']],
}],
}, {
model: User, // 좋아요 누른 사람
as: 'Likers',
attributes: ['id'],
}, {
model: Post,
as: 'Retweet',
include: [{
model: User,
attributes: ['id', 'nickname'],
}, {
model: Image,
}]
}],
});
res.status(200).json(posts);
} catch (error) {
console.error(error);
next(error);
}
});

user/[id].js


import React, { useEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { Avatar, Card } from 'antd';
import { END } from 'redux-saga';
import Head from 'next/head';
import { useRouter } from 'next/router';

import axios from 'axios';
import { LOAD_USER_POSTS_REQUEST } from '../../reducers/post';
import { LOAD_MY_INFO_REQUEST, LOAD_USER_REQUEST } from '../../reducers/user';
import PostCard from '../../components/PostCard';
import wrapper from '../../store/configureStore';
import AppLayout from '../../components/AppLayout';

const User = () => {
const dispatch = useDispatch();
const router = useRouter();
const { id } = router.query;
const { mainPosts, hasMorePosts, loadPostsLoading } = useSelector((state) => state.post);
const { userInfo, me } = useSelector((state) => state.user);

useEffect(() => {
const onScroll = () => {
if (window.pageYOffset + document.documentElement.clientHeight > document.documentElement.scrollHeight - 300) {
if (hasMorePosts && !loadPostsLoading) {
dispatch({
type: LOAD_USER_POSTS_REQUEST,
lastId: mainPosts[mainPosts.length - 1] && mainPosts[mainPosts.length - 1].id,
data: id,
});
}
}
};
window.addEventListener('scroll', onScroll);
return () => {
window.removeEventListener('scroll', onScroll);
};
}, [mainPosts.length, hasMorePosts, id, loadPostsLoading]);

return (
<AppLayout>
{userInfo && (
<Head>
<title>
{userInfo.nickname}
님의 글
</title>
<meta name="description" content={`${userInfo.nickname}님의 게시글`} />
<meta property="og:title" content={`${userInfo.nickname}님의 게시글`} />
<meta property="og:description" content={`${userInfo.nickname}님의 게시글`} />
<meta property="og:image" content="https://nodebird.com/favicon.ico" />
<meta property="og:url" content={`https://nodebird.com/user/${id}`} />
</Head>
)}
{userInfo && (userInfo.id !== me?.id)
? (
<Card
style={{ marginBottom: 20 }}
actions={[
<div key="twit">
짹짹
<br />
{userInfo.Posts}
</div>,
<div key="following">
팔로잉
<br />
{userInfo.Followings}
</div>,
<div key="follower">
팔로워
<br />
{userInfo.Followers}
</div>,
]}
>
<Card.Meta
avatar={<Avatar>{userInfo.nickname[0]}</Avatar>}
title={userInfo.nickname}
/>
</Card>
)
: null}
{mainPosts.map((c) => (
<PostCard key={c.id} post={c} />
))}
</AppLayout>
);
};

export const getServerSideProps = wrapper.getServerSideProps(async (context) => {
const cookie = context.req ? context.req.headers.cookie : '';
axios.defaults.headers.Cookie = '';
if (context.req && cookie) {
axios.defaults.headers.Cookie = cookie;
}
context.store.dispatch({
type: LOAD_USER_POSTS_REQUEST,
data: context.params.id,
});
context.store.dispatch({
type: LOAD_MY_INFO_REQUEST,
});
context.store.dispatch({
type: LOAD_USER_REQUEST,
data: context.params.id,
});
context.store.dispatch(END);
await context.store.sagaTask.toPromise();
});

export default User;

답변 5

0

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

하.....정말....감사합니다.. 

0

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

폴더명을 user.js에서 user로 바꾸세요

0

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

혹시 몰라 제 깃허브 주소 입니다 https://github.com/TestJeong/NodeBird/tree/master/prepare

0

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

GET http://localhost:3060/user/1 404 (Not Found) 콘솔창에 이렇게 에러가 뜹니다..

0

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

브라우저 콘솔이나 네트워크탭 백엔드 서버 콘솔에 에러메시지가 있을 것입니다.

asdzxc566님의 프로필 이미지
asdzxc566

작성한 질문수

질문하기