inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

09-04-boards 수정 2편

boards 수정 1편에서 useState() 초기값

해결된 질문

296

냐냐

작성한 질문수 4

0

스크린샷 2024-01-23 오후 9.07.52.png이렇게 초기값을 설정 해주지 않았을 때, 하나의 항목만 수정하고 수정하기 버튼을 누르면 다른 항목들은 그 전 내용 그대로 띄워졌는데 그 이유가 궁금해요 !굳이 boards 수정 2편에서 한 방법이 아니더라도 이렇게 하면 문제가 되는 걸까요 ? 초기값을 설정 안해주면 안되는 이유가 있나요 ㅜㅜ강사님께서 그냥 여기 초기값을 "" 빈문자열로 바꾸고 다시 실행하시기만 하셔서 왜 이 방법을 쓰면 안되는지, boards 수정 2편의 방법과는 무슨 차이가 있는지 잘 모르겠습니다 ..!

react node.js seo graphql next.js

답변 1

0

노원두

안녕하세요! 냐냐님!

예리하시네요!

사실 질문하신 방법 자체가 boards 수정 2편의 방법과 동일한 원리랍니다!^^

 

boards 수정 2편에서는 문자열이 변경되지 않은 변수들에 대해서는 업데이트 요청 목록에서 제외시키는 방법을 사용했었죠?!
냐냐님의 질문과 같이 초기값을 설정하지 않은 경우에는, 기본 값이 undefined 이므로 자동으로 업데이트 요청 목록에서 제외되었을 뿐이랍니다!
다시 말해 동일한 원리로 동일한 결과를 받게 된 것이에요!

 

그렇다면, 어떤 방법을 사용하면 될까요?!
초기값이 없는 상황이라면 어차피 undefined로 제외될 것이므로 그냥 사용하셔도 되지만,
초기값이 있는 상황이라면 직접 변경되지 않은 필드에 대해서 제외시켜 주셔야 합니다!

본 예제는 간단한 예제이므로 두 방법이 동일하지만,
일반적으로 실무에서 복잡한 상황에서는 초기값만을 모아 담는 상자(state)를 사용하므로 이러한 경우에는 수정 2편이 도움이 될 수 있겠네요!^^

 

fetchBoardsOfMine, fetchBoardsCountOfMine 에러 문의드립니다

0

36

1

댓글 기능 구현 중 질문드립니다.

0

66

1

쿠폰코드 발급

0

132

2

example 서버 플레이그라운드, API 접속 모두 안됩니다.

0

86

2

문의드립니다!! ㅠㅠ

0

101

2

graphql 백엔드 서버가 포폴용 빼곤 접속이 안됩니다.

0

76

2

_app.js 작성 이후로 에러가 발생하네요

0

93

2

학습자료

0

70

2

학습자료가 안열립니다.

0

49

2

플레이 그라운드 퀴즈 문제 질문이 있습니다.

0

59

0

기존강의 구매자, 업데이트 끝인가요?

0

109

3

업데이트 버전 수강

0

88

2

완벽한 프론트엔드

0

136

2

나만의 쇼핑몰 샘플 페이지 접속 확인부탁드립니다.

0

81

1

graphql 접속이 안됩니다.

0

100

2

const, let 사용 질문 드립니다.

0

70

2

싸이월드 만들기 1탄 피드백 부탁드립니다.

0

122

2

회원가입 과제 피드백 부탁드립니다.

0

80

2

styled.span / styled.input "CSS 자동완성"

0

47

1

쿠폰 발급 관련

0

166

2

서버 502 error

0

247

2

쿠폰 다시 부탁드려도 될가여?

0

140

2

a태그 패딩했을때 왜 크기가 줄어들지 않고 늘어나나요

0

184

2

2분 44초 질문

0

131

3