Cute Bow Tie Hearts Blinking Pink Pointer

리액트 20

react-native 글꼴 ios에서만 적용 안 되는 문제 해결

RN 프로젝트에 Fonts 폴더를 넣고, 원하는 폰트 파일을 넣고npx react-native-asset 를 했으나,ios환경에서만 글꼴이 적용되지 않는 문제에 봉착했다. 1. info.plist 확인2. react-native.config.js 파일 확인3.link-assets-manifest.json 확인4. xcode Resources 폴더 안에 글꼴 파일 있는지 확인5. 캐시 삭제 후 재빌드6. 글꼴 파일 명 오타 없는 지 확인 전부 해봤음에도 해결되지 않았다.문제는 android 환경에서는 멀쩡히 된다는 것... 위의 모든 경우의 수를 다 따져봤는데도 IOS만 폰트가 적용되지 않을 경우 Mac 환경에서 폰트의 PostScript 를 확인해봐야한다. Android 같은 경우, 단순 폰트 파일명과 ..

[TS + REACT/REACT-NATIVE] 사용법

ts + react 글로 돌아왔습니다 (아무도 안 기다림) 백날 타입스크립트만 공부해봤자 프론트엔드 개발자인데 리액트에서 사용할 줄 모른다면배운 의미가 없기에 사실상 이 글의 내용이 전 글보다 더 중요하다고 볼 수 있다..react, react-native에서 ts사용하는 방법은 사실상 거의 똑같아서구별이 무의미하긴 하지만 필자는 RN에 내장되어 있는 컴포넌트를 사용할 것이기 때문에(View, Text 등)제목을 저렇게 지정했다.   그럼 빠르게 ㄱㄱ   일단, 처음에 jsx 형식으로 초기 컴포넌트를 만들어 전체적인 틀을 만들어놓고 시작하겠다.   App.tsximport React, {useState} from 'react';import {SafeAreaView, Text, View} from 'rea..

[RN] Android13 (sdk33) 알림, 사진 접근 권한 설정하기

목차- 문제 발생 배경- 여러 가지 해결 방법- 가장 간편한 해결 방법 문제 발생 배경 구글 플레이에서 안드로이드 SDK 버전 업그레이드가 강제되면서Android 13(티라미슈) 으로 어플 버전을 올려 업데이트 하게 되었다. 초반에는 문제 없는 듯 보였으나, 서서히 밀려오는 CS 문의... " 사진 권한을 동의하라는데 어플 설정에 사진 권한이 없어요. " 뒤늦게 확인해보니 Android 13에서 파일 및 미디어 접근 권한이었던 항목이 이미지, 동영상, 오디오 권한 3가지로 분할 되었던 것이었다. 즉, Android13에선 이전 버전의 코드가 구동이 안된다....(그런 권한은 이제 존재하지 않으니까.....) 그리고 더불어, 기존엔 어플 다운로드 시 알림 on이 디폴트였는데 Android13이 되면서 of..

[Recoil] Recoil로 리액트 네이티브 컴포넌트 강제로 새로고침하기

목차 - recoil을 쓰게 된 이유, 장점 및 단점 -리액트 네이티브 RefreshControl + recoil selector 로 api 재호출하기 recoil을 쓰게 된 이유, 장점 및 단점 기존 프로젝트에서는 놀랍게도 state를 전역으로 관리하지 않았다(놀라움..) 따라서 개발 과정이 매우 번거로웠고, 매 페이지마다 회원 정보를 불러오는 api를 호출해야하는 치명적인 단점이 존재했다. 보다 효율 높은 유지보수를 위해 recoil을 사용하여 전역관리를 하기로 어렵게 결정하였다...! (사용법이 쉽고 요새 많이 쓰는 추세라서..) 무려 70개가 넘는 screen을 다 바꿔야했지만... 미래를 생각해서 진행하기로 했다. recoil selector를 사용했더니 loading 상태를 별도로 관리하지 않..

[truffle, 스마트 컨트랙트] d App 간단하게 만들어보기

목차 - truffle로 컨트랙트 배포하기 - 디앱이란? - 프론트 구현하기 컨트랙트 배포하기 트러플로 Counter 만들어보겠다. - Truffle 파일 만들기 cd truffle npx truffle init Front : create-react-app front 프론트도 만들어주겠다. create-react-app front # 이번엔 geth 말고 가나슈를 사용하겠다. 그 이유? geth 상당히 귀찮음. 가나슈는 트랜잭션이 발동할 때마다 알아서 마이닝을 해서 블럭이 생성된다. 즉, 편하다~ 새로운 터미널을 열어서 npx ganache-cli # Private Keys (0) 0xf4513fb9b43f........................... 가장 첫번째 비밀키를 메타마스크에 등록해주겠다.(..

SSR, CSR 차이

SSR Server Side Rendering의 약자 이 방식은 서버에서 데이터까지 모두 포함하여 페이지를 구성한 후 브라우저에 전달하는데 클라이언트가 페이지를 이동한다든가, 클릭으로 인한 다른 요청이 생길때마다 이 과정을 반복하기 때문에 화면에서 바뀌지 않아도 되는 부분도 계속해서 다시 렌더링되는 단점이 있다. 이는 곧 서버 부하 등의 문제를 일으킬 수 있다. CSR Client Side Rendering의 약자 말 그대로 SSR과 달리 렌더링이 클라이언트 쪽에서 일어난다. 즉, 서버는 요청을 받으면 클라이언트에 HTML과 JS를 보내준다. 클라이언트는 그것을 받아 렌더링을 시작한다. SSR, CSR 차이 1) 웹페이지를 로딩하는 시간 웹 페이지 로딩의 종류는 두 가지로 나눌 수 있다. 하나는 웹 사이..

[React Hook/Javascript] 리액트 useEffect 기본 개념, 예제 코드

개념 useEffect란, 페이지가 맨 처음에 랜더링 될 때, 또는 변수의 값이 변경될 때 실행되는 함수이다. 클릭할 때마다 1씩 증가하는 간단한 버튼을 만들어보자. 예제 코드 App.js import Count from './Commponents/Count.jsx'; const App = () => { return ( useEffect ); } export default App; Count.jsx import React,{useState,useEffect} from 'react' const Count = () =>{ const [count, setCount] = useState(0) useEffect(()=>{ console.log(count) }) useEffect(()=>{ console.log('..

[React Hook/Javascript] useState 기본 개념, 예제 코드

개념 React hook에서는 useState를 이용해서 간편하게 state값을 변경할 수 있다. const [num, setNumber] = useState(0) 위와 같은 형태로 사용한다. 배열 안에 들어가는 값은 첫번째 인자값은 값을 변화시킬 변수명, 두번째 인자값은 그 값을 변화 시키기 위해 사용할 함수명(?)이다. 두번째 인자값은 어느 값을 넣어도 코드 작동에는 문제가 없으나, 관용적으로 set + 첫번째 인자값(맨 앞글자 대문자) 형태로 사용한다. useState() { return ( useState ); } export default App; App.jsx import React,{useState} from 'react' const Hook = ()=>{ const [num, setNumb..

[React] 리액트 훅(Hook)에 대해서 알아보자

목차 - 훅이란? - 탄생 배경 - 종류 - 장점 훅(Hook)이란? Hook은 리액트 16.8 버전 이후 추가된 기능이며, Hook이 등장하면서 더 이상 상태를 관리하기 위해 Class를 쓸 필요가 없어졌다. 기존에는 Class형 컴포넌트에서만 상태를 관리 할 수 있었고, 함수형 컴포넌트에서는 상태를 관리할 수 없었지만, Hook을 통해 상태 관리를 할 수 있게 되었고, 상태 관리 뿐만 아니라 기존 클래스형 컴포넌트에서만 가능하던 여러 기능을 사용할 수 있게 되었다. Hook이 등장하기 전 리액트에는 여러 문제들이 있었다. 탄생배경 리액트 컴포넌트는 클래스형 컴포넌트(Class component)와 함수형 컴포넌트(Functional component)로 나뉜다. 기존의 개발방식은 일반적으로 함수형 컴..