Lantern(랜턴)

생성일
Position
FE
FE
React Native
BE
Node.js
Tools
Discode
VSCode

기획 의도 및 기능

다양한 안전 기능을 통한 실질적 안전과 공감하는 상호 소통을 통한 심리적 안정감을 함께 제공하는 여성들을 위한 안전 앱
주요 기능

구현

온보딩

가입

신고기능

설정

안전모드 기능

통화 기능

회고

폴더 구조 리팩토링
폴더 구조 이미지
Redux-toolkitAsyncStorage 변경
Axios Instance 활용
// api/Api.js import axios from "axios"; import AsyncStorage from "@react-native-async-storage/async-storage"; const BASE_URL = "https://teamcyan.com:9200"; const instance = axios.create({ baseURL: BASE_URL, headers: {}, }); instance.interceptors.request.use( async function (config) { const idToken = await AsyncStorage.getItem("idToken"); if (idToken) config.headers.Authorization = `Bearer ${idToken}`; return config; }, function (error) { return Promise.reject(error); } ); instance.interceptors.response.use( function (response) { return response; }, function (error) { return Promise.reject(error); } ); export const axiosInstance = instance;
JavaScript
복사
// api/HomeApi.js import { axiosInstance } from "./Api"; const SERVER_LINK = "https://teamcyan.com:9200"; const HOME = `${SERVER_LINK}/home`; export class HomeApi { // 로그인 후 홈 화면 static async getData() { try { const response = await axiosInstance.get(`${HOME}`); return response; } catch (error) { console.error(error); } }
JavaScript
복사
// hooks/queries/safemode/useGetRecentLoc.js import { useQuery } from "@tanstack/react-query"; import { SafemodeApi } from "../../../api/SafemodeApi"; const useGetRecentLoc = () => { const { data: recentLoc = [] } = useQuery({ queryKey: ["recentLoc"], queryFn: () => SafemodeApi.getRecentLoc(), onSuccess: (data) => { console.log(data); }, onError: (error) => { console.error(error); }, }); return recentLoc; }; export default useGetRecentLoc;
JavaScript
복사