게시글
질문&답변
2024.05.08
팔로워 3명씩 불러오고 데이터 합쳐주는걸로 바꾸고 서버요청을 무한으로하고있습니다.
다시 코드를 봐보니까, 호출하고 onSuccess에 state를 바꿔주면 컴포넌트를 리로드해주기 때문에 무한으로 호출하고 있는것 같습니다. 혹시 다른 좋은 방법이 있다면 추천해주실 수 있을까요? useSWRInfinite를 쓰는게 좋은방법일지 궁금합니다.
- 0
- 2
- 136
질문&답변
2024.05.03
센셕4 게시물 불러오기 postcard.js에서 post.User.nickname[0]에러
혹시나해서postcard.js의 전체코드는아래와 같습니다.import { Card, Popover, Button, Avatar, List } from "antd"; import { RetweetOutlined, HeartOutlined, HeartTwoTone, MessageOutlined, EllipsisOutlined } from "@ant-design/icons"; import { useState, useCallback } from "react"; import { useDispatch, useSelector } from "react-redux"; import PropTypes from "prop-types"; import { removePostRequestAction } from "../reducers/post"; import PostImages from "./PostImages"; import CommentForm from "./CommentForm"; import PostCardContent from "./PostCardContent"; import Followbutton from "./FollowButton"; const PostCard = ({ post }) => { // const { me: {id} } = useSelector((state) => state.user); // const id = me && me.id; // const id = me?.id; // 옵셔널 체이닝 연산자 const id = useSelector((state) => state.user.me?.id); const { removePostLoading } = useSelector((state) => state.post); const dispatch = useDispatch(); const [liked, setLiked] = useState(false); const [commentFormOpend, setCommentFormOpend] = useState(false); const onToggleLike = useCallback(() => { setLiked((prevLiked) => !prevLiked); }, []); const onToggleComment = useCallback(() => { setCommentFormOpend((prev) => !prev); }, []); const onRemovePost = useCallback(() => { dispatch(removePostRequestAction({ id: post.id })); }, []); return ( } actions={[ // 배열안에 들어가는 것들은 다 key를 넣어줘야 한다. , liked ? : , , {id && post.User?.id === id ? ( 수정 삭제 ) : ( 신고 )} } > , ]} extra={id && } > {post.User?.nickname[0]}} title={post.User?.nickname} description={} /> {commentFormOpend && ( {/* 게시글의 아이디 위해서 post 넘겨줌 */} ( {item.User?.nickname[0]}} description={item.content} /> )} /> )} ); }; PostCard.propTypes = { post: PropTypes.shape({ id: PropTypes.number, User: PropTypes.object, content: PropTypes.string, createdAt: PropTypes.string, Comments: PropTypes.arrayOf(PropTypes.object), Images: PropTypes.arrayOf(PropTypes.object), }).isRequired, }; export default PostCard;
- 0
- 3
- 226
질문&답변
2024.04.28
toolkit, saga를 사용하는데 saga에서 로그인정보 받을때 state가 이전 state가 아니라 proxy데이터가 나옵니다.
껐다 켰다 검색해보니function* login(action) { try { // console.log("saga login"); // console.log(action); // const result = yield call(loginAPI, action.data); yield delay(1000); yield put(loginSuccessAction(action.payload)); } catch (err) { yield put({ type: loginFailureAction, // data: err.response.data, }); } }이런식으로호출해주면 잘 되는것 같습니다.loginSuccessAction(action.payload)reducer에서는 데이터 받을때 proxy로 보여도 되는것 같습니다.후 쉽지않네요. 혹시나 틀렸거나 수정할거있으면 알려주시면 감사하겠습니다 ; D
- 0
- 2
- 193
질문&답변
2024.04.28
antd ui라이브러리를 사용하니까 Cannot use import statement outside a module 에러가 나옵니다.
답변 감사합니다! :D
- 0
- 3
- 602
질문&답변
2024.04.27
어느 순간부터 vs코드에서 저장한 내용이 브라우저에서 적용이 안되고있습니다.
답변 감사합니다.여기저기 뒤져보다가 안돼서새로운 프로젝트로 만들어서 해보니잘되는것 같습니다. ㅠ앞으로도 강의 열심히 보면서 더 배우겠습니다.감사합니다.
- 0
- 3
- 209