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

과연님의 프로필 이미지

작성한 질문수

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

like 누르면 화면이 렌더링이 안됩니다,,

작성

·

155

0

Likers가 없다는데 

Likers가 state에는 있는데 왜안될까요?

좋아요 누르면 화면에 리퀘스트까지만 뜨고 화면이 안바뀌는데,

새로고침하면 좋아요가 반영됩니다,,

뭐가 꼬인건가요? ㅠㅠ

post model 입니다,,,

module.exports = (sequelize, DataTypes) => {
const Post = sequelize.define(
"Post",
{
// id가 기본적으로 들어있다.
content: {
type: DataTypes.TEXT,
allowNull: false,
},
},
{
charset: "utf8mb4",
collate: "utf8mb4_general_ci", // 이모티콘 저장
}
);
Post.associate = (db) => {
db.Post.belongsTo(db.User); // post.addUser
db.Post.belongsToMany(db.Hashtag, { through: "PostHashtag" }); // post.addHashtags
db.Post.hasMany(db.Comment); // post.addComments
db.Post.hasMany(db.Image); // post.addImages
db.Post.belongsToMany(db.User, { through: "Like", as: "Likers" }); // post.addLikers, post.removeLikers
db.Post.belongsTo(db.Post, { as: "Retweet" }); // post.addRetweet
};
return Post;
};

어디서 잘못된걸까요...?

답변 4

1

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

리듀서에서 console.log(post) 해보세요. post.Likers에서 post가 없는것같습니다.

1

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

에러 메시지를 보시면 Likers가 없다는 게 아닙니다. x.Likers에서 x가 없다는 뜻입니다.

에러 메시지에 에러가 난 코드 위치 나와있습니다. 그 부분을 클릭해서 확인해보세요. mainPosts에 포스트가 한 개밖에 없나요? 다른 포스트에 문제가 있을 확률이 높습니다.

0

과연님의 프로필 이미지
과연
질문자

post랑 user 소문자로 써서 그랬던거네요 ㅠㅠㅠ 감사합니다!!

0

과연님의 프로필 이미지
과연
질문자

,,

LOAD_POST_SUCCESS 에서 console.log(action.data)한 모습입니다 ,,

이건 위에서 에러났던 Likers 부분 클릭하면 나오는부분인데,

unlike도 like처럼 에러납니다,,,

계속 찾아봤는데 뭐가 잘못됐는지 잘 모르겟습니다 ㅠ.ㅠ

과연님의 프로필 이미지

작성한 질문수

질문하기