일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- async
- 이진탐색
- interface
- err_connection_refused
- 슬라이딩윈도우
- map
- app.post
- forwardref type
- Next.js
- mainapplication.kt
- Spring
- 스크롤이벤트
- set
- Filter
- app:compiledebugkotlin
- 안드로이드빌드에러
- generic
- array
- TS
- reactnative error
- materialicons
- 배열중복요소제거
- react
- extends
- npm에러
- 리액트네이티브아이콘
- reactnative
- 타입스크립트
- 상속
- javascript
- Today
- Total
목록React Native (18)
rhanziy
사용자 인풋이나 form작성 시 키보드에 가려져서 입력폼이 안보일 때가 있다. 그럼 KeyboardAvoidingView를 쓰자! 안드로이드와 ios 플랫폼에 따라 조건처리해줘야댄다~ ios는 padding으로! 확인해보면 autoFocus 속성으로 인해 자동으로 포커스가되며 키보드에 더이상 가리지 않게 될 것. 그 외에도 View 컴포넌트처럼 style을 적용하거나 다른 방식으로 다룰 수 있다. 그래도 가린다면 높이 값을 더 설정하자! 👉 keyboardVerticalOffset {...} 사실 이쪽은 아직 잘 이해가 안됨. KeyboardAvoidingView + 적절한 padding 값 조절로 해결하는 방법인데, 기기별로 statusBar 높이가 다르니 높이를 구해주는 라이브러리를 사용하든가... ..
why ? 가게 전체 상품에 대한 리뷰를 가져올때 reviews/{ storeId } 로 데이터를 요청하잖아요?? 근데 useInfiniteQuery 공식문서에는 암만 찾아봐도 fetchApi 함수에 파라미터 여러개 넘기는 방법이 없어서 찾아봄. 🔽 이게 공식문서 const { fetchNextPage, fetchPreviousPage, hasNextPage, hasPreviousPage, isFetchingNextPage, isFetchingPreviousPage, ...result } = useInfiniteQuery({ queryKey, queryFn: ({ pageParam = 1 }) => fetchPage(pageParam), ...options, getNextPageParam: (lastPa..
기존에 구현되어있는 상품리뷰에 점주들이 댓글을 작성할 수 있는 기능을 추가해야했다. 그러면서 storeId 에 딸린 리뷰 목록을 불러오는 페이지를 새로 만들면서 겪은 시행착오~ 리액트 네이티브에서는 보통 무한스크롤 + 페이징으로 처리하는 것 같아 정리를 해놓고자 한다. 1. useInfiniteQuery 파라미터 값만 변경하여 동일한 useQuery를 무한정 호출할 때 사용하는 react query의 hook이다. useQuery와의 차이점은 ✅ 반환 객체에서 반환된 데이터 프로퍼티의 형태 useQuery에서의 데이터는 단순히 쿼리함수에서 반환된 데이터이고, useInfiniteQuery에서는 두개의 프로퍼티를 가지고온다. 하나는 데이터 페이지 객체의 Array 이고, 페이지 하나하나에 있는 요소가 us..
카카오 간편 소셜 로그인 기능 구현 중 맞닥뜨린 에러. 라이브러리는 /react-native-kakao-login 을 사용했다. 이걸로 몇시간을 삽질했나 우하하!!!^__^ invalid hool call 에러가 뜬 3가지 이유를 알아보자~ 1. react와 react dom버전이 일치하지 않을 수 있다. 이건 뭐,, 패스 2. hook 규칙 위반! 대부분 이 이유로 만났을검니다. 그래서 3번 사유도 패스할거임. 훅 규칙을 아라보자. React에서 함수 컴포넌트를 렌더링하는 동안에만 Hooks를 호출할 수 있습니다. ✅ 함수 컴포넌트 본문의 최상위 레벨에서 호출하세요. ✅ 사용자 정의 Hook 본체의 최상위 레벨에서 호출하세요. 내 로그인 기능 흐름은 원래 이랬다. 1. 카카오 로그인 버튼을 누르면 ge..
하.. . . . .. .. ...... ToDo 만들면서... 작성한 리스트의 edit 버튼을 누르면 onPress 함수에 의해 해당 key의 isEdit 값을 반전시키고(boolean) isEdit가 true 면 text로 보이던 value값을 TextInput 태그를 통해 수정할 수 있게 기능을 개발하려고 했음... { toDos[key].isEdit === true ? : {toDos[key].text} } ERROR Error: Too many re-renders. React limits the number of renders to prevent an infinite loop. ERROR Warning: Failed prop type: Invalid prop `onSubmitEditing` of..
AsyncStorage만들던 어플을 껐다 켜도 데이터가 저장이 되는 storage를 구성해보자! react native에서 제공하는 AsyncStorage를 프로젝트에 설치해 사용하면 된다. import도 잊지맙시다.npx expo install @react-native-async-storage/async-storage import AsyncStorage from '@react-native-async-storage/async-storage'; 저장하기(set)saveToDos -> AsyncStorage.setItem(데이터) 비동기 함수로 처리한다. JSON형식으로 저장해야함~ const addToDo = async() => { if(text === '') { return } const newToDos..
사용자의 text input을 다루는 컴포넌트이다. 여러가지 속성이 있음. keyboardType은 상황에 따른 키패드 유형을 지정할 수 있음 default number-pad decimal-pad numeric email-address phone-pad url returnKeyType은 엔터버튼 전송/이동 등으로 바꾸기 onChangeText는 input창이 바뀔때마다 실행할 함수 onSubmitEditing은 submit 버튼 클릭 시 실행할 함수 수정 완료시에 실행할 함수를 작성하는 onEndEditting도 있다. 아래 코드는 간단하게 To-Do 앱 만드는 중 . . . . export default function App() { const [working, setWorking] = useStat..
button 컴포넌트는 안드로이드/ios에서 다르게 보이기때문에 관리하기 쉽게하기위해 react native에서 제공하는 사용자의 터치를 감지하는 컴포넌트를 사용한다. import { TouchableOpacity, TouchableHighlight, TouchableWithoutFeedback, Pressable } from 'react-native'; ◾ Touchable component : 터치 이벤트에 반응하여 시각적인 피드백을 제공한다. 버튼, 링크, 이미지 등과 같이 터치에 의해 동작하는 요소를 구현할 때 사용된다. 터치 시 투명도 변경, 배경색 변경, 하이라이트 효과 등 다양한 스타일 변화를 적용할 수 있다. TouchableOpacity - 터치 시 activeOpacity 속성으로 투명..