인프런 커뮤니티 질문&답변

shafeel2님의 프로필 이미지

작성한 질문수

처음 배우는 리액트 네이티브

undefined disabled 란 에러가 뜨는데 아무래도 변수 props 전달에서

22.03.01 13:08 작성

·

197

0

아무래도 변수 props 전달에서 문제가 발생한것 같은데
제실력으론 찾기가 어렵네요 범준님 ...
 
https://github.com/dongguntechnology/rn_chat

답변 2

0

shafeel2님의 프로필 이미지
shafeel2
질문자

2022. 03. 02. 08:21

disabled는 선언된적이 없는 변수이라면 

아래 코드에서의 disabled 는 어떻게 구현되는지 잘모르겠네요 ^^

 

Profile.js
       <Input label="Name" value={user.name} disabled />

 
Input.js
   background-color: ${({theme, editable}) =>
      editable ? theme.inputBackground : theme.inputDisabled};
김범준님의 프로필 이미지
김범준
지식공유자

2022. 03. 02. 08:59

Profile.js에 작성된 <Input ... disabled /> 에서 disabled는 props이지 값(변수)이 아닙니다. 

만약 값을 전달한다면, <Input ... disabled={true} /> 처럼 작성합니다. 

  

<Input ... disabled /> 코드처럼 컴포넌트에 props만 작성하면 받는 쪽에서는 true로 처리됩니다. 
즉, Input 컴포넌트의 props중에서 disabled를 확인해 보시면 true로 전달됩니다. 
만약 <Input ... /> 에서 disabled를 생략하고, Input 컴포넌트에서 console.log로 확인해보면 undefined로 나타납니다. 

Input 컴포넌트에서 props를 console.log 로 확인해 보세요. 

  

참고로 작성해주신 Input.js 코드는 스타일 코드고 theme에서 받아오기때문에, 
<Input ... disabled /> 과 연관이 없습니다. 

  

즐거운 하루 되세요

감사합니다. 

0

김범준님의 프로필 이미지
김범준
지식공유자

2022. 03. 01. 15:07

안녕하세요 shafeel2님, 

  

screens/Profile.js 파일에서 

console.log(disabled); 

코드를 삭제하세요. 

disabled는 선언된적이 없는 변수입니다. 

  

즐거운 하루 되세요

감사합니다

shafeel2님의 프로필 이미지

작성한 질문수

질문하기