일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- js
- rn
- JavaScript
- Docker
- React Native
- currying
- viewcontroller
- HTML
- Swift
- npm install
- github
- ES6
- ReactNative
- Branch
- GitLab
- Android
- ios
- styling
- shortcut
- Xcode
- vscode
- xtring.log
- git
- DevOps
- nextJS
- commit
- REACT
- styled-components
- npm
- react-native
- Today
- Total
목록Front-End (45)
xtring.dev
React Native에서 Image 컴포넌트를 사용하면 이미지를 뷰에 맞추기 위해 resizeMode를 사용하여 일부 상위 컨테이너에 맞추게 됩니다. 하지만 때때로 resizeMode 만을 통해 상위 컨테이너에서 보여주고 싶은 부분을 완벽하게 보여주지 못하는 경우가 발생하기도 합니다. 바로 아래 예시를 살펴봅시다! 위와 같은 경우 item(상위 컨테이너)이 가진 영역 만큼 안에서 이미지는 상하단의 영역을 보장하여 이미지의 사이즈를 조정합니다. 하지만 이 경우 좌우영역의 빈 공간이 발생하게 됩니다. 그렇다면 resizeMode='cover'로 바꾸면 어떻게 될까요? 이미지의 비율에 상관없이 부모 컨테이너의 영역을 모두 덮을 수 있도록 해줍니다. 이 것은 때때로 문제를 가질 수 있는데요. 🤓 cover 속..
React Native 프로젝트에서 .jsx 사용하기 최근 React 프로젝트를 진행하면서 파일 형식을 .jsx로 하다 보니 새 React Native 프로젝트에서 .jsx으로 파일을 생성하니 Error가 터져나왔습니다. 파일 자체를 인식하지 못한다는 메세지를 보고 혹시 jsx 형식 자체가 인식이 되지 않을까 하는 생각에 구글링을 하던 중 찾게 된 jsx 설정 방법입니다. RN > 0.59 일 경우 프로젝트의 Root level에 metro.config.js에서 설정합니다. * 제가 세팅한 RN version은 0.62.2여서 위와 같은 세팅을 진행했습니다. RN 0.57 프로젝트의 Ro..
https://ko.reactjs.org/docs/code-splitting.html 코드 분할 – React A JavaScript library for building user interfaces ko.reactjs.org Code Splitting은 왜 필요할까? 최근 높은 인터넷 속도와 좋은 프로세서가 일반화 되면서 웹서비스를 이용하는데 발생하는 불편한 점들을 잘 인식 못 할 수 있습니다. 그리고 웹 서비스가 배포되어질 때 모든 코드들은 하나의 번들로 묶여(번들링) 집니다. 서비스가 비교적 가벼운 편이라면 큰 문제가 없겠지만 프로젝트가 덩치가 커지고 전달해야하는 데이터의 양이 커지게 되면 성능적 문제가 발생하게 됩니다. 그래서 개발자는 사용자가 위와 같은 불편함을 느끼지 못하도록 하는 것이 큰 문..
React Hooks는 Functional Component에서 Class-type Component의 LifeCycle의 동작 방식을 가능하게 해줍니다. Hooks는 React 16.8에서 새롭게 추가되었습니다. 그리고 Class 작성 없이 state와 React의 특성을 사용하게 해주었습니다. Hooks를 사용하기 위해서는 반드시 지켜줘야하는 몇가지 규칙이 존재합니다. 그리고 자동으로 이 규칙을 강요하게 해주는 linter plugin이 존재합니다. Rules of Hooks Only Call Hooks at the Top Level Hooks를 사용할 때는 꼭 맨 위에서 호출하라! Hooks는 loops, conditions, nested functions 안에서 호출하면 안됩니다. 대신 React..
새 프로젝트를 만들고 앱을 실행하니 React Native version mismatch. JavaScript version: 0.61.5 Native version: 0.62.2 ... 와 같은 에러가 발생했다. 나의 경우엔 기존에 설치되어있는 React Native CLI이 Global로 설치 되어있고 또 다른 프로젝트를 실행한 경우였다. 그런데 여기서 중요한 점은 이제는 React Native가 CLI를 직접 설치하는 것을 권장하지 않으며 npx를 통해 프로젝트를 생성하고 실행하는 것을 밀고 있다. 최근 npx를 통해 프로젝트를 생성하기 때문에 이 문제는 다시는 발생하지 않을 것 같다. 그래도 만약 에러에 허덕이신 분들이 있다면 Global로 설치된 React Native를 제거하고 npx를 통해 ..
최근 iOS 13이 발표되면서 애플이 다크모드를 지원하게 되었습니다. 다크모드를 통해 사용자들은 서비스를 눈이 편하게 볼 수 있는 것이죠. 개발자들은 항상 흰 화면에 많은 텍스트를 보면서 눈이 시리다고 합니다. 그래서 IDE를 사용할 때 검정 배경을 많이 사용하죠.😎 그런데 이제 일반 사용자들에게도 다크 모드를 지원합니다. 현재 많은 서비스들이 이에 대응하고 적용하고 있습니다. 하지만 대부분의 회사들은 이에 대해 바로 대응할 수는 없겠죠? 그런 경우 어떻게 해야할까요?🤔 대응이라는게 플로우를 따라가는 것도 있지만 지원하지 못한다면 서비스에서는 아예 보여주지 않는 방법도 있습니다. 그래서 저희 서비스에서도 당장 적용할 수 없어 다크모드를 강제로 미지원할 수 있도록 앱을 세팅하기로 결정했습니다! 저희 서비스..
React Native에서 기본으로 제공해주는 `Platform`모듈을 사용하면 iOS와 Android 두 플랫폼을 호환할 수 있습니다! React Native는 크로스 플랫폼 앱을 만들기 위해서 쓰여지는 만큼 Platform을 통한 플랫폼 별 기능 또는 UI를 적용하는 것이 매우 중요합니다. 아주아주 간단한 앱의 경우엔 큰 문제 없이 한쪽의 플랫폼을 통한 개발을 하더라도 큰 문제가 없을 수 있습니다. 하지만 수 많은 기능이 생기다 보면 Android에서는 되는데 iOS에서는 동작하지 않는 라이브러리가 있거나 다른 UI를 보여줘야한다거나 하는 경우가 발생합니다. 이를 위해서 PlatForm을 사용하는 것은 필수적이라고 할 수 있겠습니다. 사용 방법은 아주 간단합니다. 천천히 이해해 볼까요? https:/..
React native로 만든 앱을 빌드하고 APK 파일로 만들어 실기기에 설치해 보겠습니다. 터미널을 이용하여 React Native 프로젝트 폴더로 이동합니다. 해당 프로젝트 폴더의 android 폴더로 이동한 후 아래 명령어를 통해 앱을 빌드합니다. (RN root)/android $ ./gradlew assembleRelease 제가 사용한 맥에서는 5분 정도 기다리니 build가 완료되었습니다. build가 완료되면 RN 프로젝트의 > android/app/build/outputs/apk/release/app-release.apk 로 build된 apk를 찾을 수 있습니다. 이제 APK 파일을 Android 기기에 설치해서 테스트해볼 수 있습니다.