묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)
shadcn 라이브러리
shadcn는 next.js에서만 사용가능한 라이브러리 인가요?
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
이건 어디에 저장이 되는 것인가요?? redux에 저장이 되는 것인가요??
await updateProfile(auth.currentUser, { displayName: data.name, photoURL: `http://gravatar.com/avatar/${md5(createdUser.user.email)}?d=identicon` }) realtime db와는 아무런 연관이 없는데요??db에서 변화가 되면 프로필상에도 바뀌어야되는데 원칙이 아닌가요??
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
husky 설치 과정중 질문 있습니다!
yarn add --dev husky과 npx husky install 하니.husky 폴더가 생겼는데 강의와는 다른 폴더들이 많이 있구요 이후에 npx husky add .husky/pre-commit "yarn lint"실행하니 add 명령어를 권장하지 않는다고 뜹니다이 경우에 어떻게 해야할까요??
-
해결됨Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)
5.6 API 호출에서 from 속성을 불러올 수 없습니다.
5-2강의 내용은 문제 없이 잘 됐고, 그 다음부터 5-5까지도 문제가 없었습니다.에러가 다음과 같이 나옵니다.어떤 게 문제일지 잘 모르겠습니다. 도움을 구합니다.<콘솔로그 상 오류 메시지>Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'from') npm으로 설치를 진행하였으며, npx create-next-app@latest로 최신버전입니다.
-
해결됨2시간으로 끝내는 프론트엔드 테스트 기본기
jest.config.cjs로 작성했을 때 modules를 읽어올 수 없음
강의 1분쯤에 jest.config.cjs로 쓰는 것과 package.json에서 작성하는 법 2가지를 알려주셨을 때 전자대로 적용해 실행하니 아래와 같은 에러가 발생했습니다! 이후에 package.json에 작성해서 실행하는 방법으로 변경하니 정상적으로 작동했는데 혹시 이 원인을 알 수 있을까요? modules를 import하지 못한 이유를 잘 모르겠습니다!
-
미해결웹 게임을 만들며 배우는 React
action.type 불러오는 방식
import/export가 아닌 require/module.export로 파일 불러오고 있는데요. action.type 값 전달에서 궁금한 점이 있어서 질문 남겼습니다! 먼저 아래 코드로// main.jsx const SET_WINNER = 'SET_WINNER'; const CLICK_CELL = 'CLICK_CELL'; const CHANGE_TURN = 'CHANGE_TURN'; exports.SET_WINNER = SET_WINNER exports.CLICK_CELL = CLICK_CELL exports.CHANGE_TURN = CHANGE_TURN// td.jsx const { SET_WINNER, CLICK_CELL, CHANGE_TURN } = require('./tiktaktok_functional');불러오면 action.type이 undefined로 출력됩니다. 근데 아래 방식대로 작성하면 action.type이 불러와집니다.1.// main.jsx exports.SET_WINNER = SET_WINNER = 'SET_WINNER'; exports.CLICK_CELL = CLICK_CELL = 'CLICK_CELL'; exports.CHANGE_TURN = CHANGE_TURN = 'CHANGE_TURN';// td.jsx // 불러오지 않음2.// main.jsx const SET_WINNER = 'SET_WINNER'; const CLICK_CELL = 'CLICK_CELL'; const CHANGE_TURN = 'CHANGE_TURN'; exports.SET_WINNER exports.CLICK_CELL exports.CHANGE_TURN// td.jsx const CLICK_CELL = 'CLICK_CELL'; const CHANGE_TURN = 'CHANGE_TURN';원래라면 module.export 사용 중이면 어떻게 불러와야 되나요?
-
해결됨실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트
5.1 최소 최대 가격 수정 관련 테스트 질문
최소 최대 가격을 수정할 때최소 금액이 0보다 작을 때최대 금액이 최소 금액보다 작을 때위 같은 조건을 처리할 때 관련 질문입니다describe 사용 여부 // 1 describe('최소 최대 가격 확인 테스트', () => { it("최소 금액이 0보다 작을 때, 이렇게~ 처리", () => {}); it("최대 금액이 최소 금액보다 작을 때, 이렇게~ 처리", () => {}); it("최소 최대 가격을 수정하면 setMinPrice, setMaxPrice action이 호출된다", () => {}) }) // 2 it("최소 금액이 0보다 작을 때, 이렇게~ 처리", () => {}); it("최대 금액이 최소 금액보다 작을 때, 이렇게~ 처리", () => {}); it("최소 최대 가격을 수정하면 setMinPrice, setMaxPrice action이 호출된다", () => {})위 같은 조건 테스트를 작성 하는게 좋은지 아니면 아예 입력 처리를 해서 작성 안하는게 좋은지 확인 (0보다 작은수는 입력되지 않고, 최대 금액은 최소 금액보다 무조건 크게 작성하도록 처리 등)
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
프로젝트 NEW 구현하기에서 파일 옮길때 오류
12분40초에 New.js 파일을 DiaryEditor.js 파일로 옮기는 작업에서 오류가 납니다.
-
미해결Next + React Query로 SNS 서비스 만들기
유저정보 수정 후 서버세션 업데이트할 수 있는 방법이 있을까요?
안녕하세요 선생님여쭤보고 싶은 부분이 있습니다. 유저정보 수정 후 서버세션을 업데이트하려는데검색해도 생각처럼 잘 되지 않더라구요.혹시 업데이트 방법을 아실까해서 문의드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
08-01-map-fruits 실무 효율적인 렌더링 예제
데이터를 bbb 같은 데이터에 담고 그걸 presenter에 담으면 presenter에서 데이터를 알아보기 어려우니까 3번과 같이 map 자체를 <div> 에 담아서 렌더링 한다고 말씀하셨는데요, 그렇다면 3번과 같은 렌더링은 컨테이너의 return에 적는걸까요 아니면 presneter의 return에 적는걸까요?
-
미해결Next + React Query로 SNS 서비스 만들기
root layout 질문
안녕하세요. beforeLogin과 afterLogin 둘다 layout.tsx를 가지고 있는데, localhost:3000에서 beforeLogin의 layout.tsx를 렌더하는 이유가 궁금합니다. page.tsx가 있으면 그쪽을 인식하는 건가요?
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
tno값 초기화
제목 그대로 tno값은 어떻게 초기화 시키나요? testDelete 함수를 이용해서 삭제후 다시 testInsert 함수를 이용해서 1 ~ 100까지 만들고 싶은데, tno값은 1부터 시작하는게 아닌, 기존의 tno값부터 1씩 증가됩니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
피그마 회원가입 만들기
회원가입 css까지 다 완성했는데 비교해보니 비슷한 느낌은 나는것 같습니다. 혹시 코드 예제? 라던지 대표적인 완성코드를 볼 수 있는건 없나요?? 한번 비교해보고 싶어서요.. 추가로 남성/여성 부분 radio 동그라미가 피그마 원본? 상에는 크고 회색으로 칠해져 있는데 저건 어떻게 적용하나요?? 가입하기 버튼 위 구분선도 제게 사라졌는데 원인을 알수있을까요?<!DOCTYPE html> <html lang="ko"> <head> <title>회원가입</title> <link href="./02-signup.css" rel = "stylesheet"> </head> <body> <div id="tBox"> <h2 id="title">회원 가입을 위해 <br/> 정보를 입력해주세요</h2> <input class = "underline" type="text" placeholder="*이메일"><br><br> <input class = "underline" type="text" placeholder="*이름"><br><br> <input class = "underline" type="pw" placeholder="*비밀번호"><br><br> <input class = "underline" type="pw" placeholder="*비밀번호 확인"><br><br> <!-- <select> <option disabled="true" selected="true">지역을 선택하세요</option> <option>서울</option> <option>경기</option> <option>인천</option> <option>부산</option> <option>울산</option> <option>김해</option> </select> --> <div id = "gender"> <input type="radio" name="gender">여성 <input type="radio" name="gender">남성 </div> <br><br> <div class="checkbox-container"> <input type="checkbox" id="terms"> <label for="terms">이용약관 개인정보 수집 및 이용, 마케팅 활용 선택에 모두 동의합니다.</label> </div> <br> <div class = "register"> <button class = "button">가입하기</button> </div> <!-- <input type="button" value="가입하기"> --> </div> </body> </html>* { box-sizing: border-box; } #title { width: 466px; height: 94px; color: #0068ff; font-size: 32px; font-family: Noto Sans CJK KR; text-align: justify; } #tBox { width: 670px; height: 960px; border: 1px solid #aacdff; margin-top: 60px; margin-left: 625px; padding: 100px; box-shadow: 7px 7px 39px 0px #0068ff; border-radius: 20px; display: flex; flex-direction: column; align-items: center; } input[type="text"]{ width: 466px; height: 80px; padding: 10px; margin: 10px 0; border: 1px solid #797979; } input[type="pw"]{ width: 466px; height: 80px; padding: 10px; margin: 10px 0; border: 1px solid #797979; } button { padding: 10px 20px; color: #fff; background-color: #0068ff; border: none; border-radius: 5px; cursor: pointer; } input.underline { border-left-width: 0; border-right-width: 0; border-top-width: 0; border-bottom-width: 1px; } #gender { width : 140px; height: 23.94px; border : 1px solid #fff; display: flex; justify-content: space-between; } .checkbox-container { width: 466px; height: 21.06px; border: 1px solid #fff; border-radius: 3px; align-items: center; display : flex; } .checkbox-container input[type="checkbox"] { margin-right: 10px; } .register { border-top : 1px solid #e6e6e6; width: 470px; height: 1px; } .button { background-color: #FFFFFF; border :1px solid #0068FF; width: 470px; height: 75px; border-radius: 10px; font-size : 18px; color : #0068FF; text-align: center; font-weight: 400; line-height: 26.64px; font-family: Noto Sans CJK KR; }
-
미해결웹 게임을 만들며 배우는 React
onClickRedo 질문
componentDidUpdate를 사용하지 않고this.componentDidMount()를 다시 불러와서 실행시켜도정상적으로 작동하는데 이건 권장하지 않는 방법인가요?혹시 그 이유가 더 긴 라이프 라이클을 갖게 돼서 그런가요? onClickRedo = () => { this.setState({ winNumbers: lottoNumbers(), winBalls: [], bonus: null, redo: false, }) this.timeout = []; this.componentDidMount(); }
-
해결됨Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)
화면이 안보여요
5강까지는 문제없이 보였는데6강부터 수파베이스 관련된 마지막 강의까지 화면이 검정색으로 아무것도 안보이는데 혹시 저만그런건가요?? 이런적이 처음이라 어떻게 해야할지 모르겠어요 수파베이스 다음 강의부터는 또 잘 나오는거 같아요 지금 그냥 건너뛰고 뒤에 강의 듣고있는데 또 비슷한 현상이 나타나네요 ;;;;;;;; 화면이 까맣게 안나오고 목소리만 들려요,,,
-
미해결Next + React Query로 SNS 서비스 만들기
export const dynamic = "force-dynamic"이 적용된 page.tsx는 모든 요청을 캐싱하지 않는다?
Next.js는 라이브러리에서 보내는 요청까지 캐싱해버리는데,export const dynamic = 'force-dynamic'해당 문구를 page.tsx에 넣어주면 해당 페이지에서 보내는 모든 요청을 캐싱하지 않음. => export const dynamic = 'force-dynamic'를 적용한 page.tsx는 써드파티 라이브러리의 백엔드 요청 캐싱을 무시한다.또한, 모든 요청을 캐싱하지 않기 때문에 react query나 fetch 함수의 요청도 모두 캐싱을 하지 않는다.라고 이해했는데 잘 이해한 것인지 모르겠어서 질문 올리게 되었습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
페이지이동후 쿼리 질문있습니다
페이지 이동후 url에 상품 id도 잘출력되고graphql에 조회해봐도 제대로 조회가되는데vscode로 실행하면 variables에서 null값이 출력되는데아무리 찾아봐도 어디가 문제인지 몰라서 질문드립니다 ㅠㅠ
-
해결됨[React / VanillaJS] UI 요소 직접 만들기 Part 2
dropdown 내부에서 data의 타입을 알아야 할까요?
앞선 질문들에서 친절하게 답변주셔서 감사합니다! 항상 많이 배우고 있습니다 <Dropdown.Provider> <Dropdown.Container> <DropDown.Trigger> <Dropdown.List> {data.map((item) => ( <Dropdown.Item key={item.key} /> )} </Dropdown.List> </Dropdown.Container> </Dropdown.provider>가독성이 조금 떨어지지만 createDropdown을 만들지 않아도 되고, 제네릭으로 타입을 복잡하게 주지 않아서 이 방법도 괜찮을 것 같은데 어떨까요?!
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
공부방식에 질문있습니다.
일단 현재 라우팅수업 진행중입니다!매 섹션 강의를 다 듣고나서 해당섹션 학습자료 복습 후퀴즈와 포트폴리오 과제실습을 진행하는데퀴즈와 포트폴리오를 진행할때마다 배웠던 코드구동원리는 이해는 했지만 실습할때마다 코드구성이 정확히 기억나지않아서매번 이전 자료를 보면서 해당코드는 따라치고 조립하는 경향이있는데 이런식으로 공부해도 되는지 의구심이 들어서 질문드려요가급적이면 코드구성도 다 외워서아무것도 보지않고 해내는게 제일 바람직할까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
prevState 관련 질문드립니다
카운터만드는 부분은 이해가 갔는데 토글 만드는 부분에서 이런식으로 현재 state를 뒤집는것과 무슨 차이가 있는 건지 잘 이해가 가지 않습니다. const onToggleModal = () => { setIsOpen((perv) => !prev); }; const onToggleModal = () => { setIsOpen(!isOpen); };