지니네 250

TypeScript에러 - AsyncStorage에러

'string | null' 형식의 인수는 'string' 형식의 매개 변수에 할당될 수 없습니다. 'null' 형식은 'string' 형식에 할당할 수 없습니다. useEffect(()=>{ AsyncStorage.getItem("nickname", (err, result) =>{ setNick(result); }) },[]); AsyncStorage에서 nickname이라는 이름의 키를 가진 값을 가져오겠다. 그 값을 useState의 setNick에 담아라 그런데 이 부분에서 계속 result부분에 빨간 밑줄이 그어졌다. ✔️ 해결 방법 useEffect(()=>{ AsyncStorage.getItem("nickname", (err, result) =>{ if(!result){ throw new E..

FE/에러노트 2022.08.12

TypeScript에러 - useRef에러!

(property) React.ClassAttributes.ref?: React.LegacyRef | undefined 이 호출과 일치하는 오버로드가 없습니다. 오버로드 1/2('(props: ScrollViewProps | Readonly): ScrollView')에서 다음 오류가 발생했습니다. 'MutableRefObject' 형식은 'LegacyRef | undefined' 형식에 할당할 수 없습니다. 'MutableRefObject' 형식은 'RefObject' 형식에 할당할 수 없습니다. 'current' 속성의 형식이 호환되지 않습니다. 'undefined' 형식은 'ScrollView | null' 형식에 할당할 수 없습니다. 오버로드 2/2('(props: ScrollViewProps, c..

FE/에러노트 2022.08.12

RN에러 - AsyncStorage에러 - Failed to delete storage directory

잘만 삭제 되던 AsyncStorage.clear(); 에서 갑자기 오류가 생겼다 ✔️ 해결 방안 먼저 기존코드는 단순히 AsyncStorage.clear() 를 활용해서 클리어했는데 이 부분을 아래와 같이 바꿔주면 해결됨 import AsyncStorage from '@react-native-async-storage/async-storage'; const KEY = 'key'; const Storage = { async get() { const data = await AsyncStorage.getItem(KEY); if (!data) return null; return JSON.parse(data ?? ''); }, async set(data) { await AsyncStorage.setItem(KEY..

FE/에러노트 2022.08.10

[RN] - imagePicker 구현

권한 얻기 $ yarn add react-native-permissionsios/Podfilepermissions_path = '../node_modules/react-native-permissions/ios'//카메라pod 'Permission-Camera', :path => "#{permissions_path}/Camera"//위치 정확하게 가져오기(베터리 소모량 많음)pod 'Permission-LocationAccuracy', :path => "#{permissions_path}/LocationAccuracy"//위치 항상 가져오기pod 'Permission-LocationAlways', :path => "#{permissions_path}/LocationAlways"//위치 사용할때만 가져오기p..

FE 2022.08.02

[RN] - ios font 적용

1. 원하는 폰트를 다운로드한다 2. /ios/fonts를 만들고 폰트 파일을 다 넣어준다. 3. src/assets/fonts를 만들고 적용할 폰트 폰트를 전부 다 넣어준다 4. 제일 상위에서 react-native.config.js 파일을 만들어준다 module.exports = { project: { ios: {}, android: {}, }, assets: ["./src/assets/fonts"],};5. /ios/프로젝트파일/info.plist파일 수정 작업에 들어간다. UIAppFonts IBMPlexSansKR-Bold.ttf IBMPlexSansKR-Medium.ttf IBMPlexSansKR-ExtraLight.ttf IBMPlexSansKR-Light.ttf..

FE 2022.07.28

[RN] - 더보기 누르면 글 보이게 하는 기능

const [line, setLine] = useState(2); //몇번째 줄까지 보여줄 껀지const [isActive, setIsActive] = useState(false); //눌렸는지 안눌렸는지 확인하는 용도 const handelLine =() => { //누르면 라인을 글씨 최대 길이로 변경하기 isActivated ? setLine(2) : setLine(Number.MAX_SAFE_INTEGER); setIsActive((prev) => !prev);} //말줄임표는 뒤에 최대 길이는 2번째 줄까지 이렇게 글씨가 택도 없이 길어지는 경우에는 어찌해야 하나요? 이렇게 글씨가 택도 없이 길어지는 경우에는 어찌해야 하나요? 이렇게 글씨가 택도 없이 길어지는 경우에는 어찌해..

FE 2022.07.08