inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

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

해결된 질문

5251

asdzxc566

작성한 질문수 5

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;

nodejs express react redux Next.js

답변 5

0

asdzxc566

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

0

제로초(조현영)

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

0

asdzxc566

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

0

asdzxc566

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

0

제로초(조현영)

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

넥스트 버젼 질문

0

77

2

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

0

89

1

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

0

175

1

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

0

103

2

createGlobalStyle의 위치와 영향범위

0

96

2

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

0

91

2

vsc 에서 npm init 설치시 오류

0

146

2

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

0

158

1

화면 새로고침 문의

0

121

1

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

0

153

2

Next 14 사용해도 될까요?

0

452

1

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

0

349

1

url 오류 질문있습니다

0

211

1

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

0

372

1

sudo certbot --nginx 에러

0

1274

2

Minified React error 콘솔에러 (hydrate)

0

469

1

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

0

247

1

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

0

326

1

npm run build 에러

0

518

1

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

0

381

1

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

0

338

2

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

0

287

1

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

0

237

2

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

0

201

1