useSateAreaInsets를 Container에 넘겨주고 이것을 활용하는 부분이 이해가 잘 되지 않습니다.
215
작성한 질문수 3
const Container = styled.View`
align-items: center;
background-color: #ffffff;
padding-top: ${({ insets: { top } }) => top}px;
padding-bottom: ${({ insets: { bottom } }) => bottom}px;
padding-right: ${({ insets: { right } }) => right}px;
padding-left: ${({ insets: { left } }) => left}px;
`;
기존에 props에 있는 데이터를 사용할 때
${({theme}) => theme.color} 이런 식으로 사용했었는데
문법이 좀 생소합니다. 좀 자세히 설명해주시면 감사드리겠습니다!
답변 3
1
안녕하세요,
${ ({theme}) => theme.color } 부터 천천히 살펴보겠습니다.
스타일드 컴포넌트는 ThemeProvider 컴포넌트에 의해 전달된 theme props를 사용할 수 있습니다.
따라서, 다음과 같이 theme을 사용할 수 있습니다.
${ (props) => props.theme.color }
우리는 props 중에서 theme만 사용할 예정이기때문에,
${ ({theme}) => theme.color }
라고 간단하게 작성했습니다.
문의주신 내용도 동일한 방법으로 작성된 코드입니다.
Container 컴포넌트로 insets라는 props를 전달해서, 스타일드 컴포넌트에서 사용했습니다.
처음 코드는 다음과 같습니다.
${ (props) => props.insets.top }
우리는 props 중에서 insets만 사용하니 간단하게 다음과 같이 작성할 수 있습니다.
${ ({insets}) => insets.top }
마찬가지로, insets 에 있는 값중에서 top만을 사용하니 다음과 같이 작성할 수 있습니다.
${ ({ insets: {top} }) => top }
테스트를 위해 다음 코드를 브라우저의 콘솔, 혹은 터미널에서 node를 실행해서 확인해 보시면 이해가 편할것이라 생각합니다.
const obj1 = {name: 'beomjun', insets: {top: 1, bottom: 2 }};
const func1 = (params) => console.log(params)
const func2 = ({name, insets}) => console.log(name, insets)
const func3 = ({name, insets: {top, bottom}}) => console.log(name, insets, top, bottom)
func1(obj1);
func2(obj1);
func3(obj1);
감사합니다.
0
안녕하세요,
"구조 분해 할당"이라고 검색하시면 됩니다.
영어로는 "destructuring assignment" 라고 검색하시면 됩니다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
즐거운 하루 되세요.
감사합니다.
0
감사합니다! 자바스크립트 문법인 것 같아서 여쭤보기 죄송했는데 답변해주신 덕분에 많이 도움이 됐습니다!
${(props) => props.insets.top}에서 ${({insets})=> insets.top} 생략한 거랑
${({insets}) => insets.top}에서 ${ ({ insets: {top} }) => top } 이렇게 바꾸는 방식을 좀더 알아보고 싶은데
구글에 뭐라고 치면 자세히 나올까요?
맥북 m4에서 nvm으로 설치불가
0
101
2
expo 사용하지 않고 앱 실행 시, 데이터 불러오기
0
332
1
리덕스강의는 없나요?
0
263
1
선생님 도와주세요 ㅠㅠ (로그인, 회원가입, 콘솔 에러)
0
496
1
버젼 업데이트
0
411
1
expo start중 metro bundler가 같이 실행되지 않아요
0
495
1
모바일 expo 실행오류
0
846
1
안드로이드에서 expo실행이 안되요
0
833
2
터미널 다운 및 사용방법
0
290
1
expo init 에러
0
730
2
안녕하세요. 스택네비게이션 문제 질문드립니다 ㅜ
0
316
1
배포중 에러 해결이 안되네요.. ㅜㅜ
1
3215
1
안녕하세요! 강의 Chat App - Part 1 회원가입 부분에서 firebase 관련 에러가 납니다.
0
687
1
styled-components 에러
0
395
1
OS 네이트브 코드를 개발하면서 UI 를 리액트 네이티브로
0
480
1
저장하면 바뀐값들 보여야하는데 재렌더링이 안일어납니다..
0
492
1
안드로이드스튜디오 EXPO 어플 튕깁니다 ㅠㅠ
0
274
1
styled component를 사용하면 터집니다 ㅠㅠ
0
408
1
attrs, 속성, props 가 혼란스럽습니다.
0
345
1
안녕하세요, 강의 잘 들었습니다 :) RN과 파이어베이스 관련해서 질문드릴게 있습니다!
0
575
1
자꾸 The request timed out 에러가 뜹니다 .
0
1899
1
코드 좀 봐주세요 버튼 두개가 생성이 안되요
0
277
1
expo 실행시 스타일 속성 바로 보려면 어디서 보나요?
0
423
1
자바스크립트 () => 의미는요???
0
438
2





