안녕하세요~ 글 작성시 UserID가 DB에 저장안되는 이슈가 있어서 질문드립니다. 게시글을 작성 후에 TypeError : Cannot read properties of null (reading 'nickname') 에러가 납니다. 지금까지 해본 것 1. 다른 답글에 적어주신 내용처럼 router/post.js 쪽에서 req.user.id를 확인해보았습니다. 위에 사진처럼 작성자의 아이디가 나왔습니다. 2. MySQL의 DB에 보니까 UserId가 올라오고 있지 않습니다. 3. res.send로 받은 result를 console.log를 찍어보니까 UserId가 없었습니다. 4. MySQL 에 UserId를 직접 입력 (1) 해보니까 에러 없이 잘 나왔습니다. 제 생각에는 Model에서 에러가 발생한 것 같습니다. 깃허브에 올려주신 것을 보니까 5버전에 클래스로 하신 코드이신데 강의에서는 위와 같이 사용중이라서 참고를 해보았으나 DB 등록시 UserId가 입력이 안되는 것 같습니다. 알려주신대로 기능 추가시 흐름을 정리해서 보면서 생각해보니까 여기까지는 에러가 왜 낫는지 알겠는데 몇시간을 고민해도 버그가 수정이 안되서 송구스러운 마음을 가지고 질문드립니다. 깃허브 주소 : https://github.com/hyunjoogo/react-nodebird
react native 네비게이션 설치를 하고 시뮬레이터 기동 시 오류가 발생하는데 해결방법 아시는분 계시나요ㅠㅠ os 업데이트 해보고 dependencies 삭제하고 재설치 해봐도 오류가 발생하는데 어떻게 해결해야 할까요.. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
reactQuery에대해서 graphql을 호출하는 과정에있어서 에매한 부분이 있는것같아 나름대로 정리를 해봤습니다... 혹시 제가 잘못 이해하고있는 부분이 있을까요!!?? 1. graphql를통한 데이터 불러오기 흐름. (+next.js 서버사이드 렌더링 가정) 1) 서버사이드 렌더링에의해 불러오는 데이터를 hydrate를통해 클라이언트측 cache에 저장시킨다. 2) 최초접속시 useQuery를통해 데이터를 요청하지만, 우선은 당장 cache에 존재하는 데이터를 보여준다. 3) 이후 useQuery를 통해 데이터를 가져왔을떄 기존에 cache에 존재하는 데이터와 비교후, 바뀐부분만 교체시킨다. 4) 이후 새로고침이 발생했을떄 cache에서 데이터를 가져오게됨으로써 빠른 렌더링을 구현 할 수 있게된다. 2. graphql를통한 생성, 업데이트, 제거 흐름. 1) 우선 useMutation을통해 필요한 정보들을 fetcher를 태워 graphql요청을 보낸다. 2) 이후 성공하게되면 client.setQueryData를통해 클라이언트측 cache에 접근하여 데이터를 업데이트 시킨다. 3) 이과정에서 QueryKeys.MESSAGES를 통해 클라이언트측 cache에 접근하여 데이터를 업데이트하게됨으로, 최초 useQuery를통해 불러온데이터가 변경된것과 동일함으로 useEffect의 dependency Array에 전달된 data.messages가 변경된것으로 인식하여, setMsgs가 호출된다. 4) 이과정에서 useQuery의 fetcher는 호출되지않는다. 3. 클라이언트측 cahce를 눈으로 확인할 수 있는 방법이있을까요?(단순히 개발자 도구에서의 애플리케이션탭의 cache부분에서는 확인이 안되는것같아 질문드립니다..!) 또한 이부분이 리덕스의 스토어 역할을 한다고 생각해도되는지 궁긍합니다!
안녕하세요 선생님, 오늘 처음으로 수강듣게되었네요. 이 단계에서부터 질문을 드리게 될줄 몰랏는데, codesandbox 에서 실행을하려니, installing dependencies 가 계속 진행되면서 retrying package fetch 가 console 에서 지속 반복되네요ㅠ 이걸 해결할 방법이 있을까요? 없다면, 앞으로 수업은 어떻게 듣는게 좋을까요?
안녕하세요. 개인 프로젝트를 수정해보고 있습니다. 만약 react public 폴더에 100kb json 파일이 있고, A component에서 fetch로 해당 데이터를 가져와 사용한다면 어디서 해주는 것이 맞는 방법인가요? (아래 질문을 통해 유추해보았는데 만약 s3에 프론트 코드가 있으면 s3에 해주어야 하는 것인가요?) 그럼 이 경우에는 local에서는 테스트를 해볼 수 없는 걸까요?
채팅방에서 새로운 데이터를 입력한 후, 스크롤을 위로 올려 다음 페이지를 로드하면 다음 페이지 값의 일부가 사라져서 출력되는 것 같습니다. 사진에서 5를 새로 입력했습니다. 그리고 나서 위에 닿을 때까지 천천히 스크롤하여 새로운 페이지를 불러오면 8 다음에 있어야 할 9를 불러오지 못했습니다. 테스트는 강좌 깃헙의 front 폴더와 back 폴더에 있는 코드로 진행 했습니다. 버그인 것인지, 페이지를 불러오는 과정에서 문제가 생긴건지 궁금합니다ㅠㅠ..
강의 8분부터 schema폴더에서 index,js를 구성하는과정에서 질문드립니다! query ,mutation의 중복을 피하기위해 linkSchema를 정의해서 type Query, type Mutation을 의미없는 값을 설정후에 extend를 사용하면 중복을 피할 수 있다 라고 이해를 했는데 이게 message.js, user.js라는 각각분리된 파일안에서 query가 정의되어도 중복이 발생해서 이렇게 설정해주신건가요??
class Store{ repository; rootStore; num = 0; constructor(repository,rootStore){ makeAutoObservable(this); this.repository = repository; this.rootStore = rootStore; } addnum = ()=>{ num++; } } mobx makeautoObservable 관련 질문입니다. 대충 이런식으로 store 가 있는데 makeAutoObservable이 알아서 action 이랑 observable을 지정해줍니다. 1-1. respository와 rootStore는 observable 하게 하고싶지 않은데 mobx devtools를보니 repository와 rootStore를 감지하고 있더라고요 특정 변수 또는 함수를 autoObservable 에 제외시킬수 있나요? repository 나 rootStore 앞에 private 키워드를 줘봤는데도 감지하고 있었습니다. 1-2. 위처럼 메모리에 불필요한 상태값까지 감지하게되면 나중에 state 가 커지면 성능과 메모리 차지에 큰 영향을 끼칠까요? mobx로 비동기 처리해야될때 질문입니다. 네트워크 요청해서 데이터를 보여줘야되는데 리스트로 항목 4개 보여주고 화살표로 다음 페이지버튼 보거나 이전페이지 버튼 보게 하고 있습니다. 다음페이지로 넘기면 네트워크 요청하고 응답받으면 데이터를 보여주게되고 요청을 날릴때는 빈화면이고 요청에대한 응답을 받았을때 데이터를 뿌려줘야됩니다. <button onClick = {()=>store.loadPrevious()}>previous</button> {store.listData && <MyListComponent data={store.listData.slice(store.page*4,store.page+4)}/>} <button onClick = {()=>store.loadNext()}>next</button> 이런식으로 store.listData 가 있을때 컴포넌트가 나오게 했습니다. 첫화면 로딩시 즉 useEffect() 에서 요청날렸을땐 제대로 동작하는데 다음페이지 버튼을 누르면 이미 store.listData는 이미 null이 아니기떄문에 네트워크요청 응답을 받기도전에 화면을 넘겨서 데이터를 제대로 뿌려주지를 못합니다. 2-1. 이런경우는어떻게 처리하는게 좋을까요?
백단에서 post요청 then().catch() 설정한 후 클라이언트 List.js에서 axios로 /api/post/list 포스트 요청하고 콘솔창 확인해보면 400 에러가 뜨는데 일단 서버폴더 Model/Post.js에서 스키마 부분 Collection : "posts"로 바꾼 다음에 다시 새로고침 해보니깐 postList 데이터 콘솔창에 찍힙니다 초반강의 몽구스 설정할 때 collation : "posts"로 하셨는데 오타인지 궁급합니다!
1. routes/messages.js 2. dbController.js 질문.. 1. console.log로 확인해보면 undefined가 출력되는걸로 봐서 파파일을 못읽어오는거같은데 원일을 못찾겠습니다.. (DB파일의 아이디는 문자열로 바꿨습니다!) 2. 유력한 후보가 경로설정을 잘못해줘서 그런거같은데 basePath를 설정하는과정에서 resolve()가 정확히 무슨 뜻인가요?? 경로를 문자열로 바꿔주는걸로 알고있는데 resolve(basePath, ...); 이렇게 작성된 부분을 해석을 못하겠습니다..
31분 52초 화면만 보고 질문 드립니다 :) photos 를 외부로 옮긴 다음 PhotoList 의 프롭으로 photos를 넘기게 되면 PhotoList 입장에서는 프롭이 변경된것이라고 판단 되어서 리렌더링이 될 것이라고 생각했는데 PhotoListContainer자체가 photos의 필터 연산을 외부로 옮기는 방식으로 리렌더를 하지 않기 때문에 자식 컴포넌트 자체도 리렌더링이 안되는 것이 되는 건가요?
안녕하세요 .선생님. URL의 userid 값을 인식못하는 문제가 있네요 ㅜㅜ MsgList.js에서 const userId값을 제대로 받지 못하는것 같습니다. messages.json 파일에는 제대로 들어있는데 못가져오는것 같습니다. 살펴보았는데 제 실력으로 파악이 좀 어렵네요 ㅜㅜ 시간되실때 한번만 살펴봐주시면 감사하겠습니다. https://github.com/imslee100/React-API/tree/67a6b99f164818ed89ac8ff71a2b8be79ff2c8c5
안녕하세요. 현재 "DM채팅하기" 강의를 진행하기 전에도 시크릿모드로 두개를 띄워서 해보면 지금도 채팅 통신이 가능한데 이상태에선 계속 서버로 보냈다가 다시 가져오고 그런 상태이기 때문에 소켓통신으로 바꾸려고 socket.on 을 추가하는 것인가요? 그러니까 useEffect(()=>socket?.on('dm', onMessage) 이부분을 하는 이유가 http프로토콜을 소켓 프로토콜로 바꾸는 개념인가요? 동작 방식이 좀 헷갈리네요.. 제가 이해한 부분이 맞을까요?