inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]

rendering 영역의 <div>와 return 영역의 <div> 차이 질문드립니다

196

하어

작성한 질문수 1

0

선생님 안녕하세요

완강하고 선생님과 진행한 쇼핑몰에 개인적으로 기능을 더하는 중인데 궁금한 부분이 생겼습니다

서치를 해봤는데 제가 원하는 답변을 찾을 수가 없어서 이렇게 질문드립니다

...
const Tab = () => (
    <Tabs type="card" activeKey={ActiveTab} onChange={onChange}>
      <TabPane tab="배송지 선택" key="1">
        <div>
           ...
        </div>
      </TabPane>
      <TabPane tab="신규입력" key="2" forceRender="true">
        <div>
          <RecipientDiv>
            <Input placeholder="수령인" value={Recipient} onChange={onRecipientChange} />
            <Input placeholder="'-'를 제외하고 입력해 주세요" value={PhoneNumber} onChange={onPhoneChange} />
          </RecipientDiv>
          <PostcodeDiv>
            <div>
              <Input placeholder="우편번호" value={Postcode} readOnly />
              <Button onClick={showModal} size="default">주소 찾기</Button>
            </div>
            <Modal title="Basic Modal" visible={ShowModal} onOk={closeModal} onCancel={closeModal}>
              <DaumPostcode onComplete={handleComplete} />
            </Modal>
            <Input placeholder="주소" value={Address} readOnly/>

          </PostcodeDiv>
          <Input placeholder="상세주소" value={DetailAddress} onChange={onAddressChange} />

          <Checkbox onChange={onCheckChange} checked={Check}>배송지 목록에 추가</Checkbox>

        </div>
      </TabPane>
    </Tabs>
  );
}

return (
   <div>
      <Tab />
   </div>
)

return (
  <div>
    <Tabs type="card" activeKey={ActiveTab} onChange={onChange}>
      <TabPane tab="배송지 선택" key="1">
        <div>
           ...
        </div>
      </TabPane>
      <TabPane tab="신규입력" key="2" forceRender="true">
        <div>
          <RecipientDiv>
            <Input placeholder="수령인" value={Recipient} onChange={onRecipientChange} />
            <Input placeholder="'-'를 제외하고 입력해 주세요" value={PhoneNumber} onChange={onPhoneChange} />
          </RecipientDiv>
          <PostcodeDiv>
            <div>
              <Input placeholder="우편번호" value={Postcode} readOnly />
              <Button onClick={showModal} size="default">주소 찾기</Button>
            </div>
            <Modal title="Basic Modal" visible={ShowModal} onOk={closeModal} onCancel={closeModal}>
              <DaumPostcode onComplete={handleComplete} />
            </Modal>
            <Input placeholder="주소" value={Address} readOnly/>

          </PostcodeDiv>
          <Input placeholder="상세주소" value={DetailAddress} onChange={onAddressChange} />

          <Checkbox onChange={onCheckChange} checked={Check}>배송지 목록에 추가</Checkbox>

        </div>
      </TabPane>
    </Tabs>
  </div>
)

①로 했을 때는 위 gif에서처럼 TabPane 내에 있는 Input에서 onChange가 발생하면 Input에서 포커스가 아웃됩니다

Tab을 다시 렌더링하는 느낌입니다...!

②로 수정했더니 이 문제가 해결됐고

①에서 <Tab />{Tab()}으로 수정하니 해결됐습니다 

①에서 문제가 발생한 이유와 ①과 ②의 차이를 알고 싶습니다ㅠㅠ

답변 기다리겠습니다 선생님

react mongodb nodejs 웹앱 redux

답변 0

강의 내용은 훌륭하나, 환경 설정 오류 때문에 진도를 나갈 수 없습니다. 20년 버전 강의.

0

60

1

강의자료는 어디서 볼 수있나요??

0

66

1

이 쇼핑몰 만들기 강의는 관리자페이지 만드는건 없나요

0

113

2

웹에서 실시간 코드반영이 안돼요

0

120

1

app.use질문

0

64

1

강사님께 어떻게 직접질문할수있어요??

0

75

1

const함수같은거 기초강의는 어디있나요

0

81

2

리덕스 참조챕터가 어딨어요? 미리듣고오라는데요

0

81

2

강의가완전 오래되서 다 틀리네 app.jsx도 tailwind css 다틀림 무책임함

0

68

1

개발자도구에 redux란이 없어요

0

87

1

npx tailwindcss init -p 에서 계속 에러나요

0

92

1

쇼핑몰기능중 찜하기 기능은 어떻게 구현하나요

0

138

2

강의하다 줌으로 설명가능한지좀 정확히 알려주세요. 이 선생님 정책이 어떻게 되는데요. 직접 연락할 메일이라도 알려주세요

0

42

1

도표 강의 자료 열람 불가능

0

109

1

tailwindcss를 vite에서 이용하는 방식이 바뀐것 같습니다.

0

1130

2

eslint 설정 후 오류가 납니다.

0

221

1

오버로드 오류

0

149

1

VSCode에서 save를 할 때, landingpage의 useEffect가 실행되는 문제에 대하여

0

169

1

dispatch(logoutUser()) 실행시 dispatch(authuser())도 함께 실행되는 문제

0

228

2

logout할 때, server로 요청을 보내서 authUser middleware를 통과하도록 하는 이유?

0

195

1

webkit-text-size-adjust 오류

0

314

1

does not provide an export named 'userReducer'

0

215

2

빌드 배포

0

139

1

삭제 예정 강의는 언제 삭제 되나요? 저것때문에 수강완료를 못하면 회사에서 비용을 청구한다고 합니다~

0

218

2