수강이 제한됩니다.
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결React로 NodeBird SNS 만들기
redux state
리덕스 state 관련되서 질문이 있습니다 useSelector(state => state.user) 1. 하나로 모아준 것의 가장 상위의 데이터를 state라고 하는게 맞나요? (따로 정의해주지 않아도요!) 2. console로 state만을 찾아봤는 데 강의에서 user와 post가 나왔어요. reducers폴더에 index, post, user 세개의 파일이 있었는데요, next가 pages폴더안의 파일을 페이지로 만들어주는 것처럼 redux도 reducers폴더에 있는 파일들을 객체로 만들어 주는 건가요??
- React로 NodeBird SNS 만들기
강의가 리뉴얼된다고 들었습니다
삭제된 글입니다
- 미해결React로 NodeBird SNS 만들기
안녕하세요 내용 관련 질문드립니다.
1. PostCard 컴포넌트에서, <Card key={+post.createdAt} ~~ 이 때, + 는 무슨 의미인가요? 2. NodeBird 컴포넌트에서, <AppLayout> <Component /> </AppLayout> 을 했습니다. 근데, Home , signup, profile에서 노드버드 컴포넌트로 props를 내려주는 부분이 어딘지 모르겠습니다. AppLayout컴포넌트에 children이 있고, 이것이 JSX 문법을 그대로 받는 거까지는 이해하겠는데, 이것들이 어떻게 조합이 되서 화면에 렌더링 되는지 모르겠습니다. 설명 주시면 감사하겠습니다. 3. useInput 커스텀 훅과 관련하여, handler에 있는 setter의 의미를 몰라서 구글링을 했습니다. 검색을 통해 setter의 의미를 찾았는데, '값을 조작해서 가져오는', 정도로 이해하면 될까요? 4. '데이터가 동적' 이라는 말이 어떤 뜻인 지 잘 모르겠습니다. 리덕스를 설명하실 때, 'action에 넣을 데이터가 동적인 경우에는 action 을 함수로 만드세요', 라는 자막이 나왔고, 제로초님도 그렇게 설명하셨습니다. 다만, 데이터가 동적이라는 것이 어떤 뜻인지 잘 와닿지가 않습니다. 설명 주시면 감사하겠습니다.
- 미해결React로 NodeBird SNS 만들기
문법관련해서 질문드립니다.
리덕스에서 가져온 값을 비교 하려 하는 문장인데 예들들어서 const {Data}=useSelector(state=>state.data); if(Data!=={}) //여기서 이런식으로 비교 하고싶은데 저런식으로 비교 하는것이 맞는표현인가요? if(Data) 라고 만하면 Data가 {} 값을 가지고 있어서 true를 반환하게 되서 작동이 되는데 {}값을 가졌을때 false를 반환 하게 하고싶습니다
- 미해결React로 NodeBird SNS 만들기
백엔드서버 오류가나요
노드버전이 안맞아서 나는 오류인거같다고하는데 맞을까요??
- 미해결React로 NodeBird SNS 만들기
해쉬태그를 클릭하여 동적 페이지로 이동하면 포스트카드가 나타나지 않습니다.
프런트에서 해쉬태그를 클릭하면 백엔드에서 해당하는 해쉬태그를 가져오는데 해쉬태그 페이지에서 아무 반응이 없습니다. 콘솔로그를 찍어보면 데이터는 있는데 화면에 아무 반응이 없는 이유를 모르겠습니다.. 깃 주소 남깁니다. 도와주세용 ㅠㅠ https://github.com/SeokSuMin/ch6
- 미해결React로 NodeBird SNS 만들기
안녕하세요
next에서 동적으로 page 처리 하는 부분이 있는데, 이걸로는 처리 못하나요?
- 미해결React로 NodeBird SNS 만들기
AWS 비용관련 질문드립니다.
현재까지 Firebase 무료버전만 써왔고, AWS를 이용하는건 처음입니다. 이제 8.9장~8.17장이 실제 AWS에 배포를 하는 강의인데, 시작하기전에 비용에 관해 궁금한점을 해결하고 시작하고 싶어서 질문드립니다. 8.17장 까지 마치고난후, 실제로 AWS에서 서버를 운영하게 된다면, 프론트+백서버의 한달 비용이 얼마정도 나갈까요? 그냥 포트폴리오 보여주기 형식으로만 놔둘거라서, 실제 이용은 안하고 보여주기식으로 서버만 켜놓으려 합니다. 중간에 추가하고 싶은 기능들도 추가 해가면서요.. 정확히는 아니더라도, 서버만 돌아가게 만들어놨을경우, 한달에 청구되는 금액이 어느정도 일까요? (한번도 안해봐서 감이 안옵니다.) 가난한 취준생이라 가격부분에 대해 걱정이많습니다 ㅠ
- 미해결React로 NodeBird SNS 만들기
강의와 관련 없는 질문 드려도 될까요?
안녕하세요. 궁금한게 있어서 문의드립니다. 강의와 관련이 없을꺼 같긴 한데요, 제가 웹쪽 개발을 잘 몰라서... ㅠㅠ node로 rest api를 만들었다고 하고 node에서 어떤 상태가 바뀌었을 때 이벤트를 client로 전달하고 싶습니다. 얼핏 생각하면 client에서 web socket으로 node로 연결 하고 node에서 해당 소켓으로 데이터를 던지면 될꺼 같기도 한데요. 일반적으로 어떻게 구성하면 좋을까요?
- 미해결React로 NodeBird SNS 만들기
더보기 랜더링 문제
다른화면으로 갔다가 다시 돌아오면 기존의 팔로잉 목록에 중첩되서 랜더링됩니다. 뒷부분에 에러핸들링이있을까요? 아니면 제가 잘못하고 있는걸까요?
- 미해결React로 NodeBird SNS 만들기
MySQL이라서 테이블 데이터가 1부터 시작인가요?
아니면 다른DB도 id가 1부터 공통적으로 시작하기에 꼼수가 통하는 것일까요? id가 0부터 담긴다면 꼼수는 어떻게 해야하나요?
- 미해결React로 NodeBird SNS 만들기
memo와 useMemo의 차이는 무엇인가요?
react 무료 강좌에서 제가 메모해놨던것을 다시봤는데, - useMemo: 1) 복잡한 함수 결과값을 기억한다. 2) 최후의 수단으로 return부분에 useMemo쓰자. - memo: 1) 반복되는 부분(td, tr)등을 감싼다. 2) props가 자주 달라지는애를 memo로 감싼다. . useMemo와 memo의 차이점을, 이정도 차이점만 알고 있어도 충분할까요 ? 차이점이 명확히 와닿지가 않네요.. ㅠ
- 해결됨React로 NodeBird SNS 만들기
Cannot read property 'getState' of undefined
위와 같은 에러가 떴습니다 아래에도 같은 질문이 있어서 버전을 낮춰줬는데 그래도 해결이 안되서 질문합니다ㅠㅜㅠ https://github.com/jeonghye-choi/React-Study-nodebird
- 미해결React로 NodeBird SNS 만들기
최적화 예제 진행 도중 궁금증이 생겨 질문드립니다.
지금까지 강의를 급하게 따라 가느라 제 코드를 점검해볼 시간이 많이 없었는데요. 이번 최적화 예제 강의를 들으며 천천히 다시 코드도 뜯어보고 기능도 확인하던 도중 이상한 점을 발견했습니다. 질문은 크게 두가지 입니다. ■질문1) /* 팔로우 하기 눌렀을때 */ const onFollow = useCallback(userId => () => { //console.log(me.id, userId); // 12, 1 dispatch({ type: FOLLOW_USER_REQUEST, data: userId, }); }, []); 바로 이부분에서 useCallback의 두번째 인자가 []로 비어있는 상태인데, 매개변수로 들어온 userId를 []에 넣어주지 않았었던 이유가 궁금합니다. 강의 들을 당시에는 별 생각없이 넘어갔었는데, 다시 살펴보다보니 userId를 []에 넣어주지 않는 이유가 궁금해져서 질문을 드립니다. 원래 매개변수로 들어온 변수는 []에 넣어주지 않는것인가요? . ■질문2) 현재 팔로우를 누르고 곧바로 언팔로우를 하게되면, 새로고침을 해야만 글자가 바껴지는 문제가 발생합니다.. (다시말하자면, 팔로우를 누르면 화면상으로는 [언팔로우]라고 뜨고, 곧바로 [언팔로우]라는 글자를 누르면 아무일도 일어나지 않습니다.) 프로필 페이지에서 확인해보면 팔로잉 목록에도 잘 들어가있고, F12의 Network탭에서 요청과 응답도 다 제대로 되고있습니다. 하지만, 앞서 말씀드렸듯이 팔로우를 한뒤 곧바로 언팔로우를 하면 글자가 바뀌지도 않고, 이후로 모든 기능들이 비정상작동합니다..요청도 제대로 되지 않구요.. 지금까지 이렇게 페이지가 곧바로 바뀌지 않는 경우는 useCallback의 두번째 인자에 값을 안넣어줘서 일어났었던 오류였던걸로 기억을 하는데요. 어떤 이유에서 이렇게 안되는 것일까요 ? ㅠㅠㅠ 아무리 고쳐봐도 답을 못찾겠어서 질문드립니다. (또한 프로필 페이지에서 팔로잉 목록에 있는 유저를 삭재할때도 역시 새로고침을 해야만 적용이 됩니다. ㅠ) 혹시몰라서 깃허브 주소도 같이 남기겠습니다. (깃허브 주소: https://github.com/pym7857/react-nodebird)
- 미해결React로 NodeBird SNS 만들기
강의 8-3보고 있습니다. npm run dev하면 에러가 아래처럼 나와서 문의드립니다.
config/config.js dotenv error 메시지 DB 삭제도 해보고, mysql 다시 설치도 해봤는데 계속 저 에러가 나타나요. 구글에서 찾아봤는데 비밀번호 오류 같다해서 비밀번호도 바꿔보고 했는데도 안되네요 뭐가 문제인지 모르겠어요. 답변 부탁드립니다. 원래 비밀번호가 111111 이였는데 nodejsbook으로 변경한거에요
- 미해결React로 NodeBird SNS 만들기
result값은 데이터가 있는데 result.data를 하면 언디파인드 뜨는 이유가 뭔가요?
사가에서 백엔드에서 받아온 데이터를 보면 저렇게 나오는데 result.data를 하면 언디파인드 되는 이유가 뭔가요?
- 미해결React로 NodeBird SNS 만들기
다음번 강좌에서는 websocket을 사용한 인라인 테이블 그리드 작성도 넣어 주셨으면 좋겠습니다.
인터넷 강좌나 다음번 강좌에서 가능하시면 레이아웃에 테이블을 여러개 배치해서 각 테이블 마다 폼을 만들어서 실시간 추가및 업데이트 데이터가 사용자간 공유되는 기능을 보여주시면 감사하겠습니다. 제가 가장 궁금하고 만들고 싶어하는 부분인데요. 이 부분을 구현하는 방법을 꼭 알고 싶습니다. 이 부분을 구현한것을 찾기 쉽지 않네요 ... 혹시 오픈소스가 있으시면 추천해주시면 감사하겠습니다.. 강좌 잘 듣고 있습니다...^^
- 미해결React로 NodeBird SNS 만들기
컴포넌트 안에 변수,메서드를 선언할 때와 밖에 선언할 때 차이점이 궁금해요!
const dummy = { isLoggedIn: true, }; const Home = () => { return ( <> <div>Hello, Home!</div> </> ); }; export default Home; ---------------------------------------- const Home = () => { const dummy = { isLoggedIn: true, }; return ( <> <div>Hello, Home!</div> </> ); }; export default Home;
- 미해결React로 NodeBird SNS 만들기
댓글 삭제 관련 질문이었는데 답 댓글이 안 달려서 한 번 더 남깁니다!
https://www.inflearn.com/questions/35932 댓글로 문제 상황을 남겨놨는데 확인 한 번 부탁드립니다 '-'!!!
- 미해결React로 NodeBird SNS 만들기
LOAD_FOLLOWERS_REQUEST 부분에 대해서 질문드립니다.
현재 reducers/user.js에서 case LOAD_FOLLOWERS_REQUEST: { return { ...state, hasMoreFollower: action.offset ? state.hasMoreFollower : true, // 처음화면 일때는, offset은 0 이므로, false취급을 받아서 true로 넘어간다.(=더보기 버튼을 보여준다.) // (처음화면일때 offset이 0인것은, router.get('/:id/followers'... 에서 확인가능) }; } 위와같이 hasMoreFollower: action.offset ? state.hasMoreFollower : true 부분을 적어주셨는데, 이 부분이 잘 이해가 가질 않아서 질문드립니다. 코드 뜻이 이해가 안가는게 아니라, 이 부분이 존재해야하는 이유를 잘 모르겠어서 질문드려요.ㅠ 제 생각에는 case LOAD_FOLLOWERS_SUCCESS: { return { ...state, followerList: state.followerList.concat(action.data), // 기존것을 덮어쓰지 말고, 기존것에 추가 hasMoreFollower: action.data.length === 3, // 방금 로드된 팔로워가 1명 또는 2명이라면, 더보기 버튼을 보여줄 필요가 없다. // 방금 로드된 팔로워가 3명일때만, 더보기 버튼을 보여줄 필요가 있다. }; } 위 처럼 LOAD_FOLLOWERS_SUCCESS부분에 hasMoreFollower: action.data.length === 3, 이 부분만 있어도 된다고 생각을 하는데,, 그 이유는.. ■첫번째이유 의미상으로도 팔로워가 로드됐을때, 3명이 로드되면(=limit을 3으로 설정했었음), LOAD REQUEST후에, LOAD SUCCESS 부분으로 가서... hasMoreFollower: action.data.length === 3, 이 부분이 true가 될거고, 더보기 버튼이 생길것입니다. (1명이나 2명이 action.data에 담겨오면, 더보기 버튼이 생기지 않을것입니다.) 따라서 저는 이부분만 있어도 충분하다고 생각을 했습니다.. . ■두번째 이유 처음 프로필 화면에 들어갔을때, redux DevTools를 보면, LOAD_FOLLOWINGS_REQUEST, LOAD_FOLLOWERS_REQUEST, LOAD_FOLLOWINGS_SUCCESS, LOAD_FOLLOWERS_SUCCESS, 이렇게 4개의 액션이 일어나는것을 확인할 수 있는데요. 이처럼, 처음화면역시 request->success로 바로 이동을 하는데, 그렇다면, 굳이 왜 LOAD_FOLLOWERS_REQUEST쪽에 hasMoreFollower: action.offset ? state.hasMoreFollower : true, 를 넣어줘야 하는지 잘 이해가 안갑니다. . 그래서 LOAD_FOLLOWERS_REQUEST쪽에 해당 구문을 주석을 처리한 후, 실행시켜봤습니다. case LOAD_FOLLOWERS_REQUEST: { return { ...state, //hasMoreFollower: action.offset ? state.hasMoreFollower : true, // 처음화면 일때는, offset은 0 이므로, false취급을 받아서 true로 넘어간다.(=더보기 버튼을 보여준다.) // (처음화면일때 offset이 0인것은, router.get('/:id/followers'... 에서 확인가능) }; } 이처럼 주석을 처리하고 프로필 화면을 들어가도 주석을 하지않았을때와 같은 결과가 나왔습니다. 제가 아직 리액트를 배운지 얼마 안되서 잘 몰라서 이런생각을 하는것일 수도 있을것 같습니다. . 요약하자면, 굳이 LOAD_FOLLOWER_REQUEST부분에 저 부분을 넣어주신 이유가 궁금합니다!