안녕하세요 선생님 수업 잘듣고 있습니다. 다소 수준이 높은 수업이라 조금 헤매고 있지만요.. 최근 검색어 3에서 2분 41초 경에 store js에서 15번째 줄 search(keyword) { this.addHistory(keyword); return this.storage.productData.filter((product) => product.name.includes(keyword) ); } 이 부분이 있는데요. 이 부분때문에 store의 search가 addHistory를 호출하고 상태변화가 이루어질 수 있는데 (addhistory 내용만 수정하면 main.js의 코드를 수정안해도 목표로 하는 최근 검색어에 목록 추가를 할 수 있어서요) 굳이 4분 1초 경에 main.js의 search에서 setstate를 건드리시는 이유가 무엇인가요? 이미 상태변화가 store.js에서 작성한 코드 때문에 이루어지고 있기때문에 다소 역할이 중복된 코드가 아닌가해서요 답변주시면 감사하겠습니다
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨 질문 하시기 전에 꼭 확인해주세요 - 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다) - 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다) - 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢) 질문 하실때 꼭 확인하세요 - 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X) - 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지) - 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우) - 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요 - 강의의 몇 분 몇 초 관련 질문인지 알려주세요! - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 아래 오류가 자꾸 뜨는데 이유를 모르겠습니다... input 태그에 텍스트도 써지지 않습니다. onchange2 도 이어서 작성하면 오류가 발생하여 지워버렸습니다ㅠㅠ Warning: You provided a value prop to a form field without an onChange handler. This will render a read-only field. If the field should be mutable use defaultValue . Otherwise, set either onChange or readOnly .
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
안녕하세요 ㅎ 이미지 업로드 방식에 대해서 말씀해주셨는데요. 말씀하신것처럼 사용자가 이미지를 올렸다가 마음이 바껴서 다른 이미지를 올리고싶을때 다시 이미지를 여러번 교체할수있잖아요 하지만 데이터베이스 상에서는 마지막으로 올린 S3 경로가 저장되어있을텐데요. 이럴경우 데이터베이스상에는 저장이 되어있지않지만 S3 에 올라간 이미지들은 어떻게 하시나요 ? 주기적으로 삭제 해주신다고 하셨는데 어떤방식을 하시나요 ?
해당 강의에서 컴포넌트를 만들고 상태관리를 할때 모든 코드에 this가 왜 붙는건가요?? 저렇게 만든것도 그냥 객체인거 같은데 let state ={} 로안 하고 let도 없고 변수도 없는데 this로 state를 참조되는것도 궁금합니다. 모든 코드에 this가 붙는 이유 일반함수에 this한거니 그냥 window 객체에 state 변수가 생긴건지 궁금합니다. 2가 아니면 그냥 state라는 걸 자바스크립트가 제공해서 참조해서 사용하는것인지 this.state = {};
마지막 주차에서 감정일기장을 주차별로 된 것으로 만들어보라고 하셔서 만들기를 시도했습니다. 그러나 도저히 어떻게 해야할지 막막해서 감정일기장 코드들을 챗지피티에 복붙하고 주차별로 만들어달라고 했고 완성했습니다(챗지피티가 알려준 코드들은 모두 이해됩니다) 이렇게 학습하는 것이 과연적절할까요?? 또한 감정일기장을 주차별로 만드는것외에 감정일기장을 어떤식으로 변형하면 좋을지 궁금합니다!!
강의 커리큘럼을 보면 "강의자료 (완성본)"과 "강의자료 (보일러플레이트)" 다운로드를 구분해 두셨는데, 다운로드는 "강의자료 (완성본)"만 만 받게 되어 있는거 같습니다. 혹시 보일러플레이트 강의자료는 아직 준비가 되지 않은것일까요? 완성본 README.md 에 있는 `git clone https://github.com/fe-ui-study/ui-study.gi t `도 Repository를 찾지 못하고 있습니다.
안녕하세요. 열심히 강의 듣고 있습니다. ... react에서 router 이동에 궁금한거 잇어서 질문 드려요 1 root 의 라우터에는 TodoIndex와 ProductsIndex 2개의 페이지가 있습니다. ............ 생략 .............. { path: "todo", element: ...<TodoIndex/>..., children: todoRouter() }, { path: "products", element: ... <ProductsIndex/>..., children: productsRouter() } 2. TodoIndex의 child은 todoRoter이고 add의 TodoAdd와 mdify의 TodoModify가 있습니다. { path: "add", element: ...<TodoAdd/>... }, { path: "modify/:tno", element: ...<TodoModify/>... } ProductsIndex의 child은 productsRouter이고 add의 ProductList와 mdify의 ProductModify가 있습니다. 현재 ../products/add 에 있다고 했을때 add 페이지에 있는 버튼을 누르면 ../todo/add 로 점프해서 이동 하려면 어떻게 navigate 해야되나요? todo/add에서 todo/modify 이런식의 같은 폴더 레벨이면 쉽게 이동되던데 ...
코드 관련 질문은 아래와 같이 '코드블럭' 기능을 이용해주세요! + 오류 메세지도 함께 올려주시면 좋아요 🙂 console.log('hello'); 강의에서 보면 name을 선언한 후 typeof에서 name에 줄이 쳐져있는데 혹시 왜 그런건지 알 수 있나요? 제 컴퓨터에서도 사용하여 봤는데 name은 사용되지 않습니다. 라고 나옵니다
상품 등록이나 수정을 하고나서 return Map.of("result", "Success") 이렇게 리턴해주셨는데 실무에서 이런 방식을 많이 사용하나요 아니면 교육목적이기 때문에 조금 러프하게 하신건가요?? 이번 강의를 보고 실무와 가깝게 프로젝트를 진행하고 싶은데 이렇게 Map에 간단하게 리턴할지 아니면 api마다 매번 ResponseEntity에 Http Status Code 담아 리턴해야 할지 기준을 모르겠습니다. 제 목적에 맞게 하려면 어떤 방식으로 api 결과를 리턴해줘야 할까요??
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
이건 수업 외적인 질문인데요. 목소리가 달라서 다른 강사님이시지만.. 똑같은 코드팩토리 Flutter 수업듣고있는데요 TypeScript 와 Nest js 를 사용하시면 React Native 를 학습하시고사용하시는게 나을수도 있을텐데 , Flutter 를 선택하신 이유가 있나요 ?? React Native 가 성능이 비교적 Flutter 보단 안좋다고 하지만 큰 기업들에선 React Native 도 많이 사용하고 있던데 그럼 쓰는사람에 따라 다른게 아닐까?? 생각도 했거든요
createRoot도 잘 되어있고 하는데도 이 에러가 뜹니다.. import Clock from "./chapter_04/Clock"; const root = ReactDOM.createRoot(document.getElementById("root")); setInterval(() => { root.render( <React.StrictMode> <Clock /> </React.StrictMode> ); }, 1000); reportWebVitals(); ERROR react_dom_client__WEBPACK_IMPORTED_MODULE_1__.render is not a function TypeError: react_dom_client__WEBPACK_IMPORTED_MODULE_1__.render is not a function at http://localhost:3000/static/js/bundle.js:114:49