[React Native] 뒤로가기, 화면 벗어나기 막는 방법
navigtaion.addListener('beforeRemove') 를 이용하면 됩니다! useEffect(() => { const gestureHandler = navigation.addListener('beforeRemove', e => { if (!isLoading) { return; } e.preventDefault(); Alert.alert('구매가 진행되고 있어요', '화면을 벗어나면 구매가 취소돼요.', [ { text: '머무르기', onPress: () => {}, }, { text: '나가기', onPress: () => { navigation.dispatch(e.data.action); }, }, ]); }); return gestureHandler; }, [navigation, i..
2023. 4. 3.
[React Native] 배열의 객체에 요소 중복 체크
배열 안에 객체가 있는 경우, 객체가 특정 값을 갖고 있는지 중복 체크합니다. 예시로, fruits = [ { id: 1, name: "apple", mean: "사과", }, { id: 2, name: "grape", mean: "포도", }, { id: 3, name: "orange", mean: "오랜지", } ] 의 배열이 있습니다. 이 배열에 새로운 과일을 추가하려고하는데, 추가하려는 과일이 배열에 이미 있는건지 확인이 필요합니다. 가령, 사과를 새로 추가하려는데 이미 있는지? 확인을 해줘야겠죠. map이나 filter 등 사실 확인할 수 있는 함수들은 많습니다. 그 중에서도 array 함수 중에 some() 을 사용하면 짧은 코드로 쉽게 확인할 수 있습니다. some()은 해당 배열을 스윽 통..
2023. 3. 10.