inflearn logo
강의

講義

知識共有

Reactを使用してNodeBird SNSを作成する

5-14。 include と as, foreignKey

에러 질문있습니다.

337

777uku2184

投稿した質問数 38

0

<Card
      actions={[
        <div key="twit">
          짹짹
          {me.Post.length}
        </div>
      ]}
    >

얘네들 추가하기 전까지는 오류없이 잘 되는데 추가하고 나서는 위 사진처럼 저런 에러들이 뜨네요....

아무리 찾아봐도 뭐가 문제인지 모르겠어서 질문남깁니다.

react javascript

回答 5

1

summer

{me.Post.length}

이 부분에서 Posts s빠진 것 아닌가요

1

zerocho

passport.deserializeUser 부분이 제 코드와 다른 것 같습니다. Post 모델을 include 해주셔야 합니다

0

zerocho

소스코드 전체 흐름을 모르면 저도 에러 잡기가 어렵습니다. 혹시나 catch 부분에 console.error(err)가 빠져있는 부분이 있으면 넣고 실행하셔야 에러가 뜹니다.

0

777uku2184

리듀에서에서 me: action.data를 하면 데이터가 안들어 오는 것 같습니다.

dummy데이터를 넣으면 잘 작동하는데.......

코드 똑같이 쳤는데 어느 부분이 잘못된건지 모르겠네요..

0

777uku2184

routes/user.js 코드

const express = require("express");
const db = require("../models");
const bcrypt = require("bcrypt");
const passport = require("passport");

const Router = express.Router();

Router.get("/", (req, res) => {});

Router.post("/", async (req, res, next) => {
  try {
    const exUser = await db.User.findOne({
      where: { userId: req.body.userId }
    });
    if (exUser) {
      return res.status(403).send("이미 사용 중인 아이디입니다.");
    }
    const hashedPassword = await bcrypt.hash(req.body.password, 12);
    const newUser = db.User.create({
      userId: req.body.userId,
      nickname: req.body.nickname,
      password: hashedPassword
    });
    console.log(newUser);
    return res.status(200).json(newUser);
  } catch (e) {
    console.error(e);
    return next(e);
  }
});

Router.post("/logout", (req, res) => {
  req.logout();
  req.session.destroy();
  res.send("로그아웃 성공");
});

Router.post("/login", (req, res, next) => {
  // POST /api/user/login
  passport.authenticate("local", (err, user, info) => {
    if (err) {
      console.error(err);
      return next(err);
    }
    if (info) {
      return res.status(401).send(info.reason);
    }
    return req.login(user, async loginErr => {
      try {
        if (loginErr) {
          return next(loginErr);
        }
        const fullUser = await db.User.findOne({
          where: { id: user.id },
          include: [
            {
              model: db.Post,
              as: "Posts",
              attributes: ["id"]
            },
            {
              model: db.User,
              as: "Followings",
              attributes: ["id"]
            },
            {
              model: db.User,
              as: "Followers",
              attributes: ["id"]
            }
          ],
          attributes: ["id", "nickname", "userId"]
        });
        console.log(fullUser);
        return res.json(fullUser);
      } catch (e) {
        next(e);
      }
    });
  })(req, res, next);
});

module.exports = Router;

passport/index.js 코드입니다.

const passport = require("passport");
const db = require("../models");
const local = require("./local");

module.exports = () => {
  passport.serializeUser((user, done) => {
    return done(null, user.id);
  });

  passport.deserializeUser(async (id, done) => {
    try {
      const user = await db.User.findOne({
        where: { id },
        include: [
          {
            model: db.Post,
            as: "Posts",
            attributes: ["id"]
          },
          {
            model: db.User,
            as: "Followings",
            attributes: ["id"]
          },
          {
            model: db.User,
            as: "Followers",
            attributes: ["id"]
          }
        ]
      });
      return done(null, user); // req.user
    } catch (e) {
      console.error(e);
      return done(e);
    }
  });

  local();
};

어디가 잘못된걸까요?? 깃헙에서 붙여넣기를 했는데도 똑같이 에러가 뜹니다...

찾아보려해도 잘 모르겠습니다...

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

0

272

1

세션 갱신 문의 건

0

482

7

배포 진행 후 Highlight updates components render 표시

0

445

1

똑같은 기능을 하는 테이블

0

447

4

관계형

0

312

2

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

1

299

3

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

0

278

0

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

0

433

2

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

0

330

2

Cannot read property 'id' of null 에러

0

333

1

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

0

252

1

result.data에서 images인 이유

0

281

2

takeLatest에 대한 질문입니다.

1

342

2

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

0

501

6

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

0

258

1

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

0

445

2

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

0

585

2

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

0

365

1

nodejs mvc 패턴

0

975

4

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

0

266

1

제로초님

0

445

1

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

0

247

1

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

0

157

1

제로초님

0

170

1