월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
혹시 antd랑 부트스트렙
혹시 앤트 디자인이랑 부트스트랩 가져와서 쓰는거랑 같이 쓸 수 있나요 ?
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
Next와 Redux는 사실 연동
공지 글에서 Next와 Redux는 사실 연동이 매끄럽지 않다고 하셨는데 그 부분이 자세히 궁금합니다. 참고하신 자료나 사이트 있으시면 url 또는 설명 부탁드립니다.
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
새로운 eslintrc에서
eslintrc 파일 그리고 package json commentform 이렇게 빨간줄이 생겨요 ㅠ 계속 그러는것같습니다어디가 잘못된지 감을 못잡고있습니다 ㅜ
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
Cannot read properties of null (reading 'nickname')
항상 고생이 많으십니다. 메인페이지 새로고침시 위와 같은 에러가 나왔는데 어디가 문제인지 못찾고 있습니다. User에 관련된 부분이 문제인것 같은데 리덕스에선 보시다시피 User 관련이 Null로 나오고 있습니다. 어디쪽을 봐야할까요 워크벤치에서도 UserId 부분이 Null로 표시 돼 있습니다. 터미널에서 서버와 프론트 모두 에러로그 표시는 없습니다.
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
module 정의 오류...
module이 정의 되지 않는다고 하는데 제가 혹시 빼먹은 것이 어떤 건지 알 수 있을까요....
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
데이터베이스 관련 질문 2가지
1. 예를 들어 유저가 2분류로 나누어지고 각 분류별로 저장되는 정보가 다를 경우에 user 테이블 (공통되는 정보들, ) pk: id (mail, password ...) fk : userTypeid aInfo 테이블 (a유형 유저만의 정보) pk: id (a유형 유저만의 정보들) fk: userId bInfo테이블(b유형 유저만의 정보) aInfo와 동일 이렇게 설계하면 user와 a, bInfo테이블 사이의 관계는 어떻게 정의하나요? (user는 aInfo와 bInfo중 하나와만 관계를 맺어야함.) aInfo.belongsTo(user); user.?(aInfo) 혹은 그냥 user 테이블에 모든 정보를 다 떄려박고 해당하지 않는 컬럼들의 값은 null로 저장해야하나요?? 더 나은 방법이 있는지도 궁금합니다. 2. sequelize 에서는 id 컬럼(pk)을 자동으로 만든다고 하였는데 실제로 mail 칼럼과 같이 유니크한 칼럼이 있을 경우에도 mail 칼럼을 pk로 두지않고 저 id를 쓰는 것이 더 나은 것인가요?
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
강의와는 상관없지만 글작성해봅니다.
리액트를 이전에 배운적이 없는 저로서는 강의를 이해하기 힘드네요 물론 따라가기도 힘들고 그래서, 리액트 교재를 모두 읽은 후에 현재 강의를 다시 보려고 합니다! 강의에 내용을 이해할 수는 있지만 나중에 혼자 구글링도 하며, 이것저것 다른 프로젝트의 소스코드를 보며 공부한다고 가정했을 때 지금 강의에서 배운 내용을 한 10%도 이용할 수 없을것 같습니다. 좋은강의 강의 무료강의 고맙습니다. 항상 응원합니다.
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
mysql 설치후 react-nodebird 가 뜨지않습니다.
안녕하세요. 강의를 듣다가 해결하지 못하는 부분이 있어서 이렇게 여쭤보게 되었습니다. mysql 설치 및 config와 index를 설정 후 workbench에 들어갔지만 react-nodebird가 뜨지 않습니다. 제가 react-nodebird를 직접 만들어야 하는 것인지 아니면 강의와 같이 했을 경우 자동으로 생성 되는지 궁금합니다. 만약 생성 된다면 해결방법을 알려주시면 진심으로 감사하겠습니다..
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
Sequelize Create와 ADD의 차이점이 궁금합니다.
제목 그대로 sequelize에서 새로운 column을 생성할 때 create 혹은 add를 쓰는 것 같은데, 그 두개를 어떨때 다르게 사용하는지 궁금합니다. 이제까지 강좌를 보면서 create를 쓸 때는 model에서 기재했던 define안에 들어있는 값들을 넣어서 생성할때 사용하고, add를 쓸때는 associate과 연관된 값들을 넣을때 사용한다고 생각했었습니다. 하지만 retweet 강의에서는 create안에 associate 관련된 값들을 한번에 넣어서 생성하셨는데, 어떤 기준으로 create 혹은 add를 쓰는지가 궁금합니다. 아니면 add는 이미 create된 row에 추가로 값을 추가하는 개념인가요? const retweet = await Post.create({ UserId: req.user.id, RetweetId: retweetTargetId, content: "retweet", });
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
웹사이트
선생님이 만든신 웹사이트가서 좋아요를 눌렀을때 다른사람이 좋아요를 눌른게 보이지 않는것같습니다 그리고 로그인하기전에 저가 누른 좋아요가 없어졌어요 카운트가 안되는건가요? 좋아요 누적이랑 여러사람이 눌렀으면 좋아요 4~5 이렇게 숫자로 보여져야하는것같은데 버그인듯합니다 아니면 구현이 안된건가요 ?
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
카드가 반응형 스타일이 좀 이상하게 됩니다.
ㅋ카드가 모양이 제대로 안나옵니다. antd에서 가져오고 딱히 건든건 없는것같은데 무엇이 문제일까요 import React from "react"; import { List, Button, Card } from "antd"; import { StopOutlined } from "@ant-design/icons"; const FollowList = ({ header, data }) => { return ( <List style={{ marginBottom: "20px" }} grid={{ gutter: 4, xs: 2, md: 3 }} size="small" header={<div>{header}</div>} loadMore={ <div style={{ textAlign: "center", margin: "10px 0" }}> <Button>더 보기</Button> </div> } bordered dataSource={data} renderItem={(item) => ( <List.Item style={{ marginTop: "20px" }}> <Card actions={[<StopOutlined key="stop" />]}> <Card.Meta description={item.nickname} /> </Card> </List.Item> )} /> ); }; export default FollowList;
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
갑자기 궁금한게 생겼습니다
첫 화면을 저 화면이 아닌 그냥 일반적인 홈페이지로 만들고싶은데 만약 인덱스에다 해놓으면 URL을 쳤을때 로그인도있고 포스트도 있는 화면이 보여요 만약 첫화면을 따로 만들고싶으면 index2 라고 이렇게 만들어야하는건가요 ?
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
MenuItem Should not leave undefined key
FollowList.js 에 위와같이 코드를 작성했는데, Warning: MenuItem should not leave undefined `key`. 이런 에러가 뜨더라고요... 저기서 말하는 key가 Card.Meta에 적은 key값인건지... 아님 다른 key값인건지 구글링해도 알 수가 없어서 문의드립니다
- 해결됨[리뉴얼] React로 NodeBird SNS 만들기
next는 파일 확장자
같은 자바스크립트여도 리액트인걸 개발자한테 알려주기위해 jsx 를 쓴다고 무료강좌에서 들었던것 같은데 next js 는 확장자를 보통 js로 하나요?
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
nickname 첫글자 가져오기 에러에 대한 질문드립니다!
배열을 지우고 실행하니 me?.nickname[0] --> me?.nickname 닉네임 전체는 잘 가져왔고 닉네임을 가져오는 것에는 문제 없었고 역시 배열 [0]에 접근하면서 에러가 생겼습니다. nickname[0], 전체 닉네임에서 첫글자에 접근하는 부분에 옵셔널 체이닝을 적용하면 될 것이고 me?.nickname?.split("")[0] split를 써서 닉네임 첫글자를 가져올 수 있었습니다. 원하는 결과를 얻긴 했지만 다른 방법이 있는지, 에러가 생긴 이유에 의심가는 점이 있으신지 답변 부탁드립니다!!
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
리액트쿼리로 변경 후 질문있습니다.
안녕하세요 매번 제로초님의 강의로 많은 도움과 영감을 얻어 사내에서 사용하는 시스템을 적용중에 있습니다. 감사드립니다. 다름이 아니라 타입스크립트 버전인 리액트쿼리를 깃허브에 올려주셔서 적용해봤는데요 새로고침 시 기존에는 깜박임 없이 바로 로그인 이후 페이지로 연결되었던게 지금은 일시적으로 로그인 페이지에 접근했다가 메인페이지로 가더라구요 그래서 임시로 Loading아이콘을 보여주는 식으로 했는데 제가 잘못사용해서 그런건가요? 소스코드 첨부합니다.ㅜㅜ import React, { useEffect, useState } from 'react'; import { dehydrate, QueryClient, useQuery } from 'react-query'; import User from '../interfaces/user'; import AppLayout from '../components/AppLayout'; import { loadMyInfoAPI } from '../apis/login'; import LoginLayout from '../components/login'; import { GetServerSidePropsContext } from 'next'; import axios, { AxiosError } from 'axios'; import Router from 'next/router'; import { Spin } from 'antd'; const Home = () => { //const [ref, inView] = useInView(); const [loading, setLoading] = useState(true); const { data: me } = useQuery<User>('user', loadMyInfoAPI); useEffect(() => { console.log('1111'); if (me) { setLoading(false); } }, [me]); return ( <div> {loading == true ? ( <div className="loadingBar"> <Spin /> </div> ) : me ? ( <AppLayout /> ) : ( <LoginLayout /> )} </div> ); }; export const getStaticProps = async () => { const queryClient = new QueryClient(); await queryClient.prefetchInfiniteQuery('user', () => loadMyInfoAPI()); return { props: { dehydratedState: JSON.parse(JSON.stringify(dehydrate(queryClient))), }, }; };
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
antd 가로스크롤
안녕하세요 제로초님 강의 잘 듣고 디자인을 수정해보려고 하는데 가로스크롤이 없어지지 않아서 질문 드립니다. 비슷한 질문의 내용 찾아보고 삐져나온 컴포넌트가 있는지 확인해보고 코드를 몇일동안 봐도 어디서 잘못되었는지 알 수가 없어서 막힌 상태입니다 ㅜㅜ 이 사진은 화면 전체를 캡쳐한 사진입니다. antd col 태그 안의 모든 내용을 주석처리하고 레이아웃만 border 적용해서 출력한 사진입니다. 가로로 총 5칸으로 만들어 보았는데 혹시 제가 놓친 부분이 있을까요?ㅜ
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
쿠키 관련 질문
안녕하세요. 현재 토이 프로젝트로 프론트/백엔드 따로 하여 프로젝트 진행중입니다. 저는 리엑트로 프론트하고 백엔드분은 자바 스프링으로 하고 있구요. 지금 쿠키를 받는 부분을 하고 있는데 이상한 부분이 있어 질문 드립니다. Network 탭에서 분명 로그인시마다 응답으로 헤더에 쿠키가 포함되어 오는것은 확인을 하였습니다. 그러나, Application 탭의 Cookies에 쿠키가 없더라고요. 원래 Application 탭의 Cookies에 쿠키가 저장되고 삭제하더라도 로그인마다 받아와야하는것이 정상이 아닌가요? 백엔드에서는 잘 가고있다고하는데 이것은 문제가 아닌지 궁금하여 여쭤봅니다. 백엔드에서 뭔가 설정을 잘못하여 그런게 아닐까 싶어서요.
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
Cannot read properties of undefined (reading 'value')
안녕하세요. 이번에 유료 수강하게된 입문자 입니다. 위 에러를 아무리 찾아봐도 답을 찾지 못하였습니다. 잘 부탁드립니다 import React, { useCallback, useState } from 'react' import { Button, Form, Input } from 'antd' import Link from 'next/link' const LoginForm = ({ setIsLoggedIn }) => { const [id, setId] = useState('') const [password, setPassword] = useState('') const onChangeId = useCallback( (e) => { setId(e.target.value) }, [] ) const onChangePassword = useCallback( (e) => { setPassword(e.target.value) }, [] ) const onSubmitForm = useCallback( () => { console.log(id, password) setIsLoggedIn(true) }, [id, password] ) return ( <Form onFinish={onSubmitForm}> <div> <label htmlFor="user-id">아이디</label> <br /> <Input name="user-id" value={id} onChange={onChangeId} required /> </div> <div> <label htmlFor="user-password">비밀번호</label> <br /> <Input name="user-password" type="password" value={password} onChange={onChangePassword} required /> </div> <div style={{ marginTop: 10 }}> <Button type="primary" htmlType="submit" loading={false}>로그인</Button> <Link href="/signup"><a><Button>회원가입</Button></a></Link> </div> </Form> ) } export default LoginForm
- 미해결[리뉴얼] React로 NodeBird SNS 만들기
훅스에서는 데이터를 바로 넘길 수 있다는 말이 이해되지 않아요
프로필 페이지 만들기에서 컴포넌트를 잘게 쪼개는 것이 좋다는 얘기를 하시면서 옛날에는 container에서 데이터를 받아서 presente로 계속 prop을 전달하는 것이 부담이 있었는데 현재는 hooks로 바로 받아 올 수 있어 컴포넌트 쪼개는 것에 대한 부담이 없어졌다 라고 하셨는데 hooks로 바로 데이터를 받아 올 수 있다라는 말이 이해가 안돼요ㅠㅠ 리덕스 등으로 바로 데이터를 받아 올 수 있다는 것은 아는데 hooks로도 데이터를 바로 받아 올 수 있나요?