728x90

Development/ReactNative 38

[study] 최적화를 위한 Memorization

최적화를 위한 Memorization :기존에 수행했던 연산, 결과들을 어딘가에 저장한 뒤 동일한 입력값인 경우 재활용하는 것 useMemo : -첫 번째 인자 : 기억할 값을 리턴해주는 함수 -두 번째 인자 : dependency array const variableA = useMemo(()=>{}, [])//useEffect와 비슷한 사용법 (예) export const ComponentA = (props)=>{ //props.a=1, props.b=2; const variableA = useMemo(()=>{ return props.a+props.b }, [props.a, props.b]) }; useCallback: -첫 번째 인자 : 기열 할 함수를 리턴해주는 함수 -두 번째인자 : depend..

[study] 왜 hook을 만들었는가 ?(자주 사용하는 hook)

1. 컴포넌트 간 상태 관련 로직 재사용하기 어려움 매번 같은 상태 관리 로직을 copy&paste 공통화되지 않다 보니 컴포넌트마다 변경사항을 수정해야 하는 어려움 2. 컴포넌트가 커질수록 복잡해지는 로직 단일 책임 원칙에서 벗어남 3. 혼란을 주는 class *hook 사용의 규칙 1. 모든 hook을 사용할 때 최상단에서 호출하여야만 함 함수호출 = 랜더링 2.react 함수에서만 hook을 사용해야 함 자주 사용하는 hook React-native -useWindowDimensions -useBackHandler : 안드로이드에서 back키를 눌렀을 때 / return으로 boolean값을 꼭 해주어야 한다. npm install @react-native-community/hooks (예) exp..

[study] Gradle 특정 버전 설치하기

gradle-wrapper.properties 파일>> distributionUrl=https\://services.gradle.org/distributions/gradle-{8.0.1}-all.zip 설치하고 싶은 버전이 7.6.1이면 distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip ./gradlew wrapper --gradle-version {8.0.1} 설치하고 싶은 버전이 7.6.1이면 ./gradlew wrapper --gradle-version 7.6.1 완료 후 다시 빌드 호환되는 java가다른 경우 jdk를 맞추어설치해주어야 한다…. 끝이 없는설치지옥 ㅠ0ㅠ 설치 그만.. 에러 그만...

[error] 안드로이드 스튜디오에서 빌드가 성공적으로 열리는데, 터미널에서 npm start를 실행하면 빌드 실패(buildFailed)가 발생

이러한 문제는 프로젝트의 의존성이나 환경 설정의 일관성 문제로 인해 발생할 수 있습니다. 다음 몇 가지 단계를 따라 문제를 해결해 볼 수 있다 프로젝트의 의존성을 설치해야 합니다. 프로젝트 디렉터리로 이동한 후에 다음 명령을 실행하여 필요한 의존성을 설치합니다: npm install cd ios && pod install 이후 다시 npm start 하면 열림

[study] Sentry.captureMessage

Sentry.captureMessage는 Sentry라이브러리에서 제공하는 함수로, 오류나 예외 상황이 아닌 메시지를 캡처하고 전송하는 데 사용된다. 이 함수를 사용하여 특정 메시지를 Sentry로 보내면, 해당 메시지는 Sentry 대시보드에서 볼 수 있다. Sentry.captureMessage를 사용하는 경우는 다양하다. 예를 들어, 애플리케이션에서 중요한 이벤트가 발생했을 때, 사용자의 특정 액션에 대한 정보를 기록하고 싶을 때, 또는 사용자들이 경험할 수 있는 특정한 문제점을 추적하고 싶을 때 사용할 수 있다. 이를 통해 애플리케이션의 동작을 모니터링하고 문제를 해결하는 데 도움이 된다. Sentry 대시보드는 Sentry.io라는 웹 기반 서비스에서 제공된다. Sentry.io 웹사이트에 로그..

[study] 키보드가 올라오면 TextInput이 가려지는 현상 해결 -KeyboardavoidingView -

useEffect(() => { // 모달이 열릴 때마다 TextInput에 focus를 준다. if (modalVisible) { setTimeout(() => { textInputFocusRef.current?. focus(); }, 100); // 약간의 시간차가 있어야 TextInput에 focus가 먹힌다. }}, [modalVisible]); # 안드로이드 기기에서 모달창이 바깥인 경우 잘 보이지 않는 현상이 있다 // 그럴 때는 모달창 밖으로 를 위치하면 된다.\ 예) if (Platform.OS === "ios") { // ios는 그대로 return ( ); } else if (Platform.OS==='android'){ return ( );

728x90