• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

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

22.03.01 13:08 작성 조회수 120

0

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

답변 2

·

답변을 작성해보세요.

0

shafeel2님의 프로필

shafeel2

질문자

2022.03.02

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

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

 

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

 
Input.js
   background-color: ${({theme, editable}) =>
      editable ? theme.inputBackground : theme.inputDisabled};

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

안녕하세요 shafeel2님, 

  

screens/Profile.js 파일에서 

console.log(disabled); 

코드를 삭제하세요. 

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

  

즐거운 하루 되세요

감사합니다