안녕하세요! 섹션3 2.8)페이지별 레이아웃 설정하기 강의에서 20분44초부터 시작하는 enterKey로 페이지 이동하는 부분에서 질문 있습니다 <form>태그 + e.preventDefault() 그리고 onSubmit을 사용하면 클릭+enterKey를 작동하게 할 수 있잖아요 혹시 강사님께서는 file같은 form을 진짜 제출하는게 아닐땐 form태그 사용하는걸 지양하시는 편인가요?? 혹시 그렇다면 이유도 물어봐도 될까요?? 감사합니다!!
혹시 useQuery에 작성하는 queryKey와 queryFn함수에 작상하는 next.tags의 queryKey는 무슨 상관관계가 있는 건가요 ? 둘의 값이 무조건 같아야 하는 줄 알았는데 useQuery엔 searchParams / queryFn함수엔 searchParams.q로 작성하셔서 여쭤봅니다. (next.tags엔 문자열만 가능한 점은 알고있습니다 ! )
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. vs code에서 터미널을 열어 바로 입력하였는데 이런 창이 뜹니다. 어떻게 해결할 수 있을까요?
Editor.jsx 파일은 Props 가 없고 단순히 export default memo (editor) 코드만 있으니 당연히 리렌더링이 안되어야 하지만 리렌더링이 되고 있습니다. 그래서 App.jsx 파일에서 <TodoDispatchContext.Provider value={memoizedDispatch}> <Editor /> <List /> </TodoDispatchContext.Provider> 이렇게 리턴하는걸 <Editor />를 위쪽으로 빼면 리렌더링이 안 일어 납니다. dispatchContext 안쪽으로 editor 컴포넌트가 들어가면 리렌더링 일어나고 바깥으로 빼면 리렌더링 안 일어 나는거 설명좀 될까요?
선생님 궁금한 게 있어서 글을 남겨봅니다 오늘 To-do list 강의 세션을 완강했는데 이해를 하지 못하는 부분이 있었습니다 const onUpdate = (targetId) => { setTodo( todo.map ((it) => it.id === targetId ? { ...it, isDone: !it.isDone } : it ) ); }; onUpdate 부분을 만들때 todo.map ((it) => it.id === targetId ? { ...it, isDone: !it.isDone } : it 이분에서 ...it : !it.isDone 이 무엇을 의미하는지와 스프레드 연산자를 쓴 이유를 이해하기 어려웠습니다 const onDelete = (targetId) => { setTodo(todo.filter((it) => it.id !== targetId)); }; 에서 todo.filter((it) => it.id !== targetId) 가 삭제를 하기위해 만들어졌는데 .filter((it) => it.id !== targetId filter 를 쓴 이유와 it.id !== targetId 가 뭔지를 아직도 잘모르겠습니다 to-do list 를 배열을 이용하여 상태 관리를 하는것으로 만들었는데 천천히 공부 해보면서 적용 해볼려고 합니다 공부할떄 선생님께서 보는 학습자료나 to-do list 를 만들때 특별히 참고한게 있었는지 궁금합니다
밑에 같은 질문을 하신 분이 계시던데요. 12.15 챕터의 10:33 초에 보면 수정 으로 들어 왔을때 기본값으로 수정 전 데이터가 나온다고 되어 있습니다. 지금까지 영상을 보면서 같이 코딩을 해오고 있었는데요.. 그런데 밑에 질문 하신 분 처럼 10:33 초 전 까지의 코딩으로는 수정 시 데이터가 나오지 않습니다. 그리고 인프런 측 인지..답변 설명에 useEffect 얘기 하시던데.. useEffect(() => { if (initData) { setInput({ ...initData, createdDate: new Date(Number(initData.createdDate)), }); } }, [initData]); 이 부분은 10:33 초 전 까지는 나오지 않았습니다. 인프런 측도 답변을 주실려면 정확히 파악 후 답변을 주세요.. 뭐가 잘못된 건가요? useEffect 부분이 없어도 설명대로 수정 으로 들어가면 데이터가 나오는게 맞는건가요? 아니면 제가 뭔가 빠트린 것이 있나요?
강의 진행 도중 생긴 에러는 아니고, 순수한 궁금증에 질문 남깁니다. 제가 React 로 프론트엔드 개발은 항상 모든 컴포넌트를 화살표 함수로 작성했었습니다. 이를테면 const Home = () => { }; export default Home; 이런식으로 작성하였는데요, 근데 상기 Nextjs 강의에서도 그렇고 다른 수많은 블로그 글들에서는 전통적인 함수 선언식을 사용하더라구요. export default function Home() { }; 그 이유가 무엇일까요? 모두가 사용하는데는 이유가 있는거 같은데 관련 자료를 찾을 수가 없어서 질문드립니다. 혹시나 강제된 문법인가 싶어 해당 강의에서 사용된 페이지들을 화살표함수로 바꿔서 작성해봤는데 똑같이 에러 없이 잘 실행이 되더군요..
[username] 라우터의 page.tsx에 현재 들어온 유저정보를 받아오는 prefetchQuery랑 그 유저의 게시글을 받아오는 infinitePrefetchQuery가 있는데 두 번째 Query의 경우 서버 컴포넌트에서 실행되는 함수라 credential:"include"가 작동하지 않아 Cookie값을 따로 명시해줘야 하는걸로 알고있습니다. 근데 Cookie값을 따로 명시해주지않아도 게시글들이 잘 불러와지는데 이 과정이 궁금합니다
self-signed certificate in certificate chain 발생합니다. 1번 process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; 2번 // SSL 인증 무시를 위한 Agent 생성 const httpsAgent = new https.Agent({ rejectUnauthorized: false }); await axios.get("target_url", { httpsAgent: agent }); 1,2 번 외 해결 방법이 있을까요? 또는 2번을 적용하려면 어떻게 해야하나요? 또는 Java에서 로컬 톰캣 서버에서 HTTPS 설정하듯이 할수있는 방법이 있나요?
❗ 질문 작성시 꼭 참고해주세요 현재 문제(또는 에러)와 코드(또는 github) 를 첨부해주세요. 맥/윈도우, 안드로이드/iOS, Expo, Node 버전 등의 개발환경 을 함께 적어주시면 도움이 됩니다. 에러메세지는 일부분이 아닌 전체 상황 을 올려주세요. ( 일부만 자르거나 복사하지말아주세요 .) 개발환경/코드에 대한 정보가 없을경우 답변이 어렵습니다. 윈도우, 안드로이드 환경에서 실행하였습니다. 홈화면은 잘 보이지만 profile이나 setting 버튼 클릭시 위의 오류화면이 나오게 됩니다. 서버 연결하는 부분까지도 잘 됐는데 어느 순간 이런 오류가 등장하였습니다. 어떻게 수정해야 할까요..? 감사합니다!
혹시 강의를 처음에는 쭉 보면서 따라하거나 정리하고 다시한번 한입 북스를 스스로 만들어보면서 nextjs흐름을 파악하면서 잘 모르겠거나 막히는 부분 강의 다시 한번 듣고 소스 코드 보고 이렇게 듣는 방식이 젤 괜찮은가요?? 아니면 스타일링이나 단순 리액트 컴포넌트를 구성하는 부분은 혼자서 해보고 강의를 듣는 방식이 더 나을까요?? 감사합니다