inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

state 상태 변화 함수 비동기 질문

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

7.2) useEffect 사용하기 강의에서 state의 상태 변화 함수는 비동기로 동작하기 때문에 콘솔에 count 값을 출력하면 이전 값이 나온다고 설명하셨습니다. 그런데 state의 값이 변경되면 리렌더링 되면서 화면에 count 값이 보여지는 건 setCount인 상태 변화 함수가 실행되고, 완료됐기 때문에 화면에 나타난다고 생각했습니다. 그렇기 때문에 콘솔에 이전의 값이 출력 된다는 점이 이해가 가지 않아 질문 드립니다. 버튼을 누르면 onClickButton 함수가 실행된다. setCount 상태 변화 함수가 실행되어 값을 더한다. setCount 함수가 완료되지 않아 콘솔 창엔 이전의 count 값이 출력된다. setCount 함수가 완료되고 state의 값이 변경됐기 때문에 리렌더링이 된다. 리렌더링 된 값이 화면에 출력된다. 이런 순서로 진행되는 건가요? 코드가 어떻게 동작 되는 건지 이해가 안돼서 질문 남깁니다 ㅜㅜ... 항상 친절하고 자세하게 강의해주셔서 감사합니다!

  • javascript
  • react
  • node.js
강두희 댓글 2 좋아요 1 조회수 210

패키지 관련 질문 입니다.

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

Nest js 패키지들은 어디서 설치하고 어디서 찾아 볼 수 있나요? Express 개발시에는 npm 사이트 검색 설치 및 사용 Nest도 npm에서 가능할까요?? @nestjs/ <<< 붙은 친구들은 사용 가능한건가요?? 주로 Nest에서 개발하면서 필요한 패키지들을 찾는 루트가 있을까요??

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
ajrfyd 댓글 1 좋아요 0 조회수 104

15강 실습 오류

미해결

처음 만난 리액트(React)

import styled from "styled-components"; const Wrapper = styled.div` padding: 1rem; display: flex, flex-direction: row; align-items: flex-start; justify-content: flex-start; background-color: lightgrey; `; const Block = styled.div` padding: ${(props) => props.padding}; border: 1px solid black; border-radius: 1rem; background-color: ${(props) => props.backgroundColor}; color: white; font-size: 2rem; font-weight: bold; text-align: center; `; const blockItems = [ { label: "1", padding: "1rem", backgroundColor: "red", }, { label: "2", padding: "3rem", backgroundColor: "green", }, { label: "3", padding: "2rem", backgroundColor: "blue", }, ]; function Blocks(props) { return ( <Wrapper> {blockItems.map((blockItem) => { return ( <Block padding={blockItem.padding} backgroundColor={blockItem.backgroundColor} > {blockItem.label} </Block> ); })} </Wrapper> ); } export default Blocks; style-componets를 install 하고 실습 코드를 실행했을 때, 강의에서 나온 결과 화면과 다른 화면이 나옵니다. 개발자 도구를 켜면 다음과 같이 display: flex; flex-direction: row 스타일이 적용되지 않은 것 같습니다. Wrapper 의 css 속성이 적용되지 않은 것 같은데, 원인을 못찾겠습니다. 답변주시면 감사하겠습니다.

  • HTML/CSS
  • javascript
  • react
댓글 2 좋아요 1 조회수 287

카드 뒤집힐 때 F가 보인 이유

미해결

인터랙티브 웹 개발 제대로 시작하기

안녕하세요? 강의 잘 보고 있습니다. F, B 카드가 있고 뒤집는 거잖아요? F에 z-index를 1을 주었기 때문에 B보다 앞에 있어서 F->B 순서로 보이구요. 여기서 궁금한 것은 실물 카드로 생각을 해보았을 때, F카드 밑에 B 카드가 있는거죠. [1번] backface-visibility: hidden을 주지 않았을 때 가드를 뒤집게 되면 B카드 밑에 F 카드가 있는게 아닌가요? [2번] 아니면 뒤집혀진 상태에서도 F의 z-index 1로 인해서 다시 F->B 상태로 되어 있는 건가요? 제 생각은 실물 카드로 보면 뒷면이 보이더라도 B의 뒷면이 보여야 할거 같은데 F의 뒷면이 보여서 질문 드립니다. [1]번인 경우 F의 뒷면이 보이는게 이해가 안되고, 만약 [2]번인 경우 F 카드가 B 카드보다 위에 있다는 건데 뒷면을 안보여준다고 해도 그래도 F 카드가 보여야 할 것 같아서요. -------------------------------------------------- 제가 다시 생각해봤는데요. z-index 1이니깐 F 가 B 보다 무조건 위에 있는 건 맞으나, 실물 카드처럼 딱 붙어있는게 아니니깐 F는 위에서 돌고, B는 밑에서 돌고 F 뒷면, B 뒷면으로 있는 상태가 맞을까요? 여기서 뒷면은 안보이도록 해줬으니 B만 보이는거구요.

  • HTML/CSS
  • javascript
  • 인터랙티브-웹
newbie 댓글 1 좋아요 0 조회수 180

Docker mysql 오류 해결 방법

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

***질문은 아니고 해결 방법 공유합니다!*** docker-compose.yml 파일에서 백엔드 service를 올리기 전에 데이터베이스부터 먼저 올리면 됩니다! 아래처럼 version: '3.7' # "컴퓨터들" services: # 컴퓨터 이름 my-database: image: mysql:8.0 environment: MYSQL_DATABASE: 'myproject' MYSQL_ROOT_PASSWORD: 'root' ports: - 3306:3306 # 컴퓨터 이름 my-backend: build: context: . dockerfile: Dockerfile volumes: - ./src:/myfolder/src ports: - 3000:3000 env_file: - ./.env.docker my-database랑 my-backend 서로 순서만 바꿔주면 됩니다. 저는 그렇게 해서 됐습니다..! 조금이나마 도움이 되길 바랍니다.

  • javascript
  • node.js
  • docker
  • rest-api
  • nestjs
새벽에잠안오면꼬맨틀하는사람 댓글 1 좋아요 1 조회수 197

DB data 재활용 관련 질문

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

데이터 베이스를 사용하면서 궁금한점이 postgres-data폴더에 db관련 정보들이 저장되는것 같은데 entity의 변경과 같은 이유로 초기화를 해야 할때 초기화 후 기존에 저장했던 부분을 살릴 수 있는 방법이 없을까요?? (ex postgres-data폴더의 어떤 파일을 살려라 등)

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
ajrfyd 댓글 1 좋아요 0 조회수 133

크롬 확장프로그램 관련 질문드립니다.

미해결

Node.js로 웹 크롤링하기

본 강의와 관련이 없을 수 있는데, 크롤링 공부를 하는 중에 궁금한게 생겨 질문드립니다. puppeteer로 생성한 브라우저에서 크롬 확장프로그램을 설치할 수 있는 방법이 있나요? 있다면 어떤 키워드로 검색을 해서 찾아봐야하는지 알려주시면 감사하겠습니다.

  • javascript
  • node.js
  • 웹-크롤링
  • puppeteer
kms930322 댓글 1 좋아요 0 조회수 192

이미지 강좌를 듣고 생긴 궁금중입니다.

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

강사님이 알려주신 방식을 듣고 다양한 이미지 처리 방식을 공부하기 위하여 Presigned URL 방식을 구현중에 있습니다. 백엔드에 요청을 통해 발급받은 S3 url 주소에 PUT 요청으로 이미지를 업로드하고 있습니다. 이 떄, 일반적인 form-data 형식은 들어가지지 않는 것 같은데, binary 형태는 매우 잘 들어가집니다. 현업에서도 presigned-url을 활용할 떄 binary 형태로만 전달을 해야하나요, 아니면 다른 방식이 있는지 알고 싶어 식견을 구하고자, 질문드립니다!!

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
김용민 댓글 1 좋아요 0 조회수 167

vue3 css 경로 표시 문의

미해결

Vue.js 시작하기 - Age of Vue.js

안녕하세요. 현재 vue3 환경으로 진행 중 개발자 도구로 css 요소검사를 하면 해당 css 경로가 보이질 않습니다. 예를 들어 개발자도구로 a 요소를 선택하면 해당 a 가 표기된 css 가 보여야 하는데 현재 <style> 로만 표시가 되어서 해당 요소가 어떤 css 파일에 들어있는지 파악하기가 어렵습니다. (현재 상태) (원하는 경로가 표시 되었을 경우 - 이건 예시예요!) 혹시 위 사진처럼 css 경로가 표기될 수 있는 방법이 있을까요?

  • javascript
  • vue.js
kirauu eh 댓글 2 좋아요 1 조회수 260

useNavigate()을 검증할 때 이해가 안되는 부분이 있습니다.

미해결

실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트

const navigateFn = vi.fn(); vi.mock('react-router-dom', async () => { const original = await vi.importActual('react-router-dom'); return { ...original, useNavigate: () => navigateFn }; }); useNavigate 함수에 스파이 함수를 전달할때 위 코드를 사용하고 있는데요. 이부분에서 이해가 어려운게 있습니다. //ErrorPage.jsx const navigate = useNavigate(); const handleClickBackButton = () => { navigate(-1); }; 실제로 네비게이션에 활용하는 함수는 navigate() 잖아요. 그런데 왜 스파이 함수를 useNavigate()에 전달하는 건가요? 직관적으로 보자면, expect(navigate함수에 전달된 spyFn).toHaveBeenNthCalledWith(1, -1) 이여야 할 거 같다고 느껴져서 이해가 안갑니다.

  • javascript
  • react
  • 소프트웨어-테스트
  • vitest
박상원 댓글 2 좋아요 0 조회수 316

toHaveStyle 메서드 사용이 조금 이상한 것 같습니다.

미해결

실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트

it('focus가 활성화되면 border 스타일이 추가된다.', async () => { const { user } = await render(<TextField />); const textInput = screen.getByPlaceholderText('텍스트를 입력해 주세요.'); //await user.click(textInput); expect(textInput).toHaveStyle({ borderWidth: 'px', borderColor: 'rbg(25,a118,210)', }); }); (1) user.click (textInput)을 주석 처리 했습니다. 그리고 (2) toHaveStyle 부분에서, borderWidth, borderColor 두 값을 위와 같이 넣었는데도 테스트가 아래처럼 통과합니다. 수업 노트에 적혀진 이슈 ( 링크 )의 내용대로 "1px"이라고 작성하면 test가 fail이 됩니다. 혹시 제가 잘 못 이해한 부분이 있는걸까요?

  • javascript
  • react
  • 소프트웨어-테스트
  • vitest
박상원 댓글 2 좋아요 0 조회수 219

this.template 메소드

해결됨

한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지

this.template 메소드를 innerHTML에 할당하는 방식이 아닌 createElement와 appendChild 등으로 해결해도 괜찮나요? 이렇게 하면 변경되지 않은 부분만 체크하여 필요한 부분만 DOM을 다시 추가하는 방식을 사용할 수 있을 것 같은데

  • javascript
  • rest-api
  • spa
  • dom
정민교 댓글 1 좋아요 1 조회수 220

App의 상태관리?

해결됨

한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지

App 컴포넌트에서 모든 컴포넌트들의 상태가 관리되는 건가요? 컴포넌트들은 각각의 상태를 관리하고 가 상태를 업데이트하면서 상태관리를 하는게 아닌가요? 이건 모든 상태를 App 컴포넌트에서 관리하고 하위 컴포넌트들은 자신의 상태가 될 데이터를 내려받아서 그냥 render만 해주는 느낌이 들어서요 이렇게 되면 App 컴포넌트에서 관리해야 할 상태들이 너무 많아지고 App 컴포넌트가 복잡해지는 거 아닌가요..? 각 컴포넌트에서 독립적으로 본인의 상태를 관리하고 필요에 따라 상위 컴포넌트에서 상태를 전달받아 render 한다..? 이렇게 이해했는데.. 컴포넌트 단위로 개발하는 spa 개발 개념이 좀 부족한건지 이해가 잘 안되네요

  • javascript
  • rest-api
  • spa
  • dom
정민교 댓글 1 좋아요 2 조회수 168

깃허브 권한 요청 드립니다.

미해결

Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념

인프런 아이디 : ljm5697 인프런 이메일 : ljm5697@naver.com 깃헙 아이디 : ljm5937@gmail.com 깃헙 username : zzeongm

  • javascript
  • vue.js
ljm5697 댓글 1 좋아요 0 조회수 170

data.json 파일을 어디 올려놓은 건가요??

미해결

<M.B.I.T> 테스트 페이지 만들기! with Django

ㅠㅠ https://www.notion.so/MBIT-My-Best-IT-personalities-3d9128d972054b498b98365f1df4e656#ea988d6fd9ef495daae54c5b9ae8c7e9 여기에 파일이 없는데..

  • HTML/CSS
  • javascript
  • django
병맛과학 댓글 1 좋아요 0 조회수 168

python manage.py dumpdata main --output data.json로 생성된 파일의 글자가 깨짐 문제

미해결

<M.B.I.T> 테스트 페이지 만들기! with Django

[{"model": "main.developer", "pk": 1, "fields": {"name": "���ü��", "count": 0}}, {"model": "main.developer", "pk": 2, "fields": {"name": "����ü��", "count": 0}}, {"model": "main.developer", "pk": 3, "fields": {"name": "���ü��", "count": 0}}, {"model": "main.developer", "pk": 4, "fields": {"name": "����ü��", "count": 0}}, {"model": "main.developer", "pk": 5, "fields": {"name": "�ݾ�ü��", "count": 0}}, {"model": "main.developer", "pk": 6, "fields": {"name": "����ü��", "count": 0}}, {"model": "main.developer", "pk": 7, "fields": {"name": "����ü��", "count": 0}}, {"model": "main.developer", "pk": 8, "fields": {"name": "����ü��", "count": 0}}, {"model": "main.question", "pk": 1, "fields": {"number": 1, "content": "����� �� Ư¡�� ��մϱ�?"}}, {"model": "main.choice", "pk": 1, "fields": {"content": "��ī�Ӱ� �ѷ��� �λ�, �ε巴�� �ձ� �λ�, ��ü������ ���� �λ� ������ �λ�,", "question": 1, "developer": 1}}] 깨져도 상관없는 것인가요?

  • HTML/CSS
  • javascript
  • django
병맛과학 댓글 1 좋아요 0 조회수 181

pdf 파일에 있는 링크주소로 들어가지지가 않습니다.

미해결

풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]

풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2] 잔재미코딩 PDF 파일 예제 shorturl.at 링크로 들어가면 something went wrong while fetching invitation 문구가 뜨고 안됩니다

  • HTML/CSS
  • javascript
  • es6
nonori123 댓글 2 좋아요 0 조회수 286

npm i 설치 이유 문의

미해결

타입스크립트 입문 - 기초부터 실전까지

안녕하세요 강의 잘 듣고 있습니다. 양질의 강의 항상 감사드립니다. 첫 번째 실습 프로젝트 소개, 환경 구성, 코드 분석 강의 1:22 에서 npm i 설치하는 이유가 무엇일까요? 강의 시작할 때 node js를 윈도우에 설치하였는데(npm 최신 버전 설치) vscode 터미널로 이동해서 npm i를 하는 이유가 궁금하여 질문드립니다.

  • javascript
  • typescript
  • es6
데브심 댓글 3 좋아요 1 조회수 461

인기 태그

인프런 TOP Writers

주간 인기글