묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
nextjs 15버전 사용 가능할까요?
영상하고 15버전하고 차이가 좀 있는거 같습니다
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
[9.2 투두리스트 업그레이드] id undefined
안녕하세요. 투두리스트 업그레이드 중 "UPDATE" 에서 질문있습니다.업그레이드 하며 체크박스를 선택했을 때 다음과 같은 오류가 발생합니다.업그레이드 이전까지는 잘 돌아가서 업그레이드 하며 오타 문제가 아닐까 하는데 원인을 찾기가 어려워 질문 드립니다.. ㅜ APP.jsx 와 List.jsx 코드 올려드립니다.- APP.jsximport "./App.css"; import Header from "./components/Header"; import Editor from "./components/Editor"; import List from "./components/List"; import { useState, useRef, useReducer } from "react"; const mockData = [ { id: 0, isDone: false, content: "Study React.js", date: new Date().getTime(), }, { id: 1, isDone: false, content: "do laundry", date: new Date().getTime(), }, { id: 2, isDone: false, content: "wanna go home", date: new Date().getTime(), }, ]; function reducer(state, action) { switch (action.type) { case "CREATE": return [action.data, ...state]; case "UPDATE": return state.map((item) => { item.id === action.targetId ? { ...item, isDone: !item.isDone } : item; }); case "DELETE": return state.filter((item) => item.id !== action.targetId); default: return state; } } function App() { const [todos, dispatch] = useReducer(reducer, mockData); const idRef = useRef(3); const onCreate = (content) => { dispatch({ type: "CREATE", data: { id: idRef.current++, isDone: false, content: content, date: new Date().getTime(), }, }); }; const onUpdate = (targetId) => { dispatch({ type: "UPDATE", targetId: targetId, }); }; const onDelete = (targetId) => { dispatch({ type: "DELETE", targetId: targetId, }); }; return ( <div className="App"> <Header /> <Editor onCreate={onCreate} /> <List todos={todos} onUpdate={onUpdate} onDelete={onDelete} /> </div> ); } export default App; List.jsx import "./List.css"; import TodoItem from "./TodoItem"; import { useState } from "react"; const List = ({ todos, onUpdate, onDelete }) => { const [search, setSearch] = useState(""); const onChangeSearch = (e) => { setSearch(e.target.value); }; const getFilteredData = () => { if (search === "") { return todos; } return todos.filter((todo) => todo.content.toLowerCase().includes(search.toLowerCase()) ); }; const filteredTodos = getFilteredData(); return ( <div className="List"> <h4>Todo List 🎈</h4> <input value={search} onChange={onChangeSearch} placeholder="검색어를 입력하세요" /> <div className="todos_wrapper"> {filteredTodos.map((todo) => { return ( <TodoItem onDelete={onDelete} onUpdate={onUpdate} key={todo.id} {...todo} /> ); })} </div> </div> ); }; export default List;
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
화면 새로고침 문의
안녕하세요 제로초님 !강의보고 따라해보고 있는데 화면 새로고침할때깜빡거리는걸 없애고 싶은데 getServerSideProps을 사용해서 상태값을 변경해주면 가능한걸까요??
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
a태그 패딩했을때 왜 크기가 줄어들지 않고 늘어나나요
30분 30초 패딩 넣었는데 a태그의 클릭가능한 범위가 늘어나나요? 줄어들어야 하는것아닌가요 크기를 키우려면 마진을 넣어야하는 것으로 알고있는데요 ㅠ.ㅠ 또한 강의에서 그 직후에 border를 표시해서 z태그들의 영역이 겹치는것을 말씀하시면서, 그 이유가 인라인 요소이기 때문이라고 말씀하셨는데요, 인라인 요소에 대해 제가 알고있는 것은, 블록요소와 다르게오른쪽으로(?) 쌓일 수 있다는 것만 알고있는데, 이것과 인라인요소가 겹치는 이유가 관련이 있는지, 아니면 제가 모르는 다른 무언가때문인지 어쨌든 인라인요소이기 때문에 겹친다 라는 표현이 이해가 안가네요. 감사합니다.
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
userRef와 let 선언 차이
강의 마지막 부분에서 let 으로 count 선언 후, App.jsx에서 <Register/> 를 두 번 호출하면 같은 변수를 쓰면서 같은 Register 함수를 호출하는 것이라 하셨는데 useRef로 선언해도 같은 Register함수를 호출하는 것 아닌가요 ?useRef를 사용하면 const inputRef 로 선언해도 다른 객체로 인식 하는 건지 ..! 궁금합니다.
-
해결됨React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드
실무에서 tailwind css 사용시 구조 질문드립니다.
tailwind css가 편해보이기는 한데, 화면 코드의 많은 부분을 css 클래스로 차지하고 가독성을 헤치는것 같은데요.실무에서도 예제처럼 html 요소 인라인으로 하나하나 class를 넣어두나요?이러면 중복되는 코드도 많고 구조 파악도 어려울 것 같아서요 만약 html 디자이너가 따로 있을때는 tailwindcss를 사용하지 않나요?디자이너랑 협업할때는 css를 따로 만들어 줄것 같은데, 리액트 실무 환경에서 디자인 부분에 대해서 어떤식으로 협업하는지 궁금합니다.
-
해결됨React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드
Ch1-4. 네비게이션바 컴포넌트 만들기(1부) 에서 오류질문
안녕하세요 강의 코드 중에 질문드립니다.상단 네비게이션바 코드 작성시Navbar.jsx 에서 노션에 올려주신 MenuItem 컴포넌트가 올바로 작동하지 않습니다. 다만, 찾아보니 '화살표 함수에서 중괄호를 사용하면 명시적으로 return문을 작성해야 JSX가 반환됩니다.' 라고 하는데...실제로 return 을 추가하면 실행이 됩니다.선생님 강의에서는 MenuItem 컴포넌트 선언시 retrun 명시를 안하신거 같은데 어떻게 개발서버에서 상단 네비바가 보여지나요..? (전 : 노션코드)const MenuItem = ({ path, label, onClick }) => ( <li> <Link to={path} className="hover:text-blue-600 transition duration-300" onClick={onClick} > {label} </Link> </li> ); (후-실행됨)const Menuitem = ({ path, label, onClick }) => { return ( <li> <Link to={path} className="hover:text-blue-600 transition duration-300" onClick={onClick} > {label} </Link> </li> ); };
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
강의 전체 소스코드 받을수있을까요?
강의를 듣는데 보내주시면 감사드리겠습니다
-
해결됨차세대 Node.js 백엔드 서버 개발(Fastify & Prisma & Typescript와 함께하는)
401 not expired token 에러 메세지는 언제 쓰이나요?
인증구현 - 회원가입(register) 강의 중 4분 23초 경에401 error로 not expired token라는 에러가 있더라구요.보통 토큰이 만료되었을 때, 해당 토큰을 사용해서 접근하려고 하면 나오는 에러라고 단순히 생각했었는데,자세히 보니까 "not" expired token 이라고 되어있는데, 토큰이 만료되지 않았는데 왜 에러인가요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
[3.4] export default 모듈 불러오기
Node.js 에서 ES 사용시, default 메서드를 import 하는 과정에서 오류가 생깁니다.강의 마지막 부분처럼 import를 한 줄로 선언해도 안되네요 ..
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
12강 깃허브에 있는 12.7 chat.html 복붙했는데 css오류
이부분에서 <div class="mine" style="color: {{chat.user}}"> 가 오류뜨는데, 속성값예상 at-rule 또는 선택기가 필요함 이라고 복붙했는데 왜이런오류가뜰가요?
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
오류 질문
https://inf.run/h8zSF An error occurred in the <App> component.Consider adding an error boundary to your tree to customize error handling behavior.Visit https://inf.run/MNrmr to learn more about error boundaries. Error Component Stack at App (App.jsx:63:28) 라는 오류가 뜹니다
-
미해결GraphQL: REST API를 대체할 기술
자료 관련 문의
안녕하세요 강사님 Netflix DGS 강의를 보고 우선 이 강의부터 수강하고자 찾아왔습니다다름이 아니라 팀원들에게 공유하면서 학습을 하고 싶은데 혹시 이 강의와 DGS 강의 ppt 자료가 있다면 조심스럽게 요청드려도 될까요? gyeongjae.h.dev@gmail.com DGS라는 걸 아예 인지도 못하고 있었는데 정말 오랜만에 신선한 느낌이라서 기분이 좋습니다 좋은 지식 공유 잘 습득하겠습니다 감사합니다 🙏
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
2분 44초 질문
무슨말씀이신지 이해가 안가요.ㅠㅠ가운데정렬을 편안하게 해주려면 span 을 이용하는 이유가 와닿지 않습니다.
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
toJson을 추가하면 [sub].tsx에서 sub를 받아오지 못합니다.
entity에 toJson을 추가하고 내용을 비워놓기만 해도, sub를 받아오지 못합니다.강의에서는 잘 진행되어서 지금 전혀 원인을 알 수 없습니다. 답변 부탁드립니다.
-
미해결실무 중심! FE 입문자를 위한 React
사진이 잘 안보여요.
Lifecycle 사진이 잘 안보입니다. 크게 보여준 사진 필요해요.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
문의드립니다.
기존 수강자 새로운강의 쿠폰 발급 받을 수 있을까요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
투두 리스트 강의중 input 태그에 value 속성의 역할이 궁금합니다
<input ref = {contentRef} value={content} onChange={onChangeContent} placeholder="새로운 Todo..."/> <button onClick={onSubmit}>추가</button>위 코드에서 value={content}에서 value가 정확히 어떤 역할을 하는지 잘 모르겠습니다.
-
해결됨[2025] 비전공자도 가능한 React Native 앱 개발 마스터클래스
npx expo start하면 왜 실행이안될까요?
안녕하세요 도저히 해결이 안되서 질문남깁니다.일단 맥북이구요.안드로이드 기기를 키려고 a를 누르면 쭉 메시지가 나오다가CommandError: No Android connected device found, and no emulators could be started automatically.Please connect a device or create an emulator (https://docs.expo.dev/workflow/android-studio-emulator).Then follow the instructions here to enable USB debugging:https://developer.android.com/studio/run/device.html#developer-device-options. If you are using Genymotion go to Settings -> ADB, select "Use custom Android SDK tools", and point it at your Android SDK directory.이렇게 빨갛게 에러가 나면서 실행이 안됩니다. 지피티로도 해결이 안되서 질문 남겨봅니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
혹시 프론트엔드 로드맵이 어떻게되나요?
선생님 강의가 마음에 들어계속 듣고싶은데요현재 프로젝트를 한달 후에 프론트엔드 부분을 맡아 진행하고있는데정식로드맵이랑간편 로드맵?빠르게 웹사이트 한개 만들 수 있게 하는 로드맵 알고 싶습니다.리액트 강의 듣고 next.js강의 들어야하는지아니면 리액트 듣고 타입스크립트 듣고 자바스크립트 듣고 next.js강의 들어야하는지..아니면 리액트만으로도 되는지 등등..