시작하기

https://aidenarea.tistory.com/entry/React-Native-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0-Windows

안드로이드

  • 안드로이드 SDK 설치
  • 해당경로로 환경변수 설정
    C:\Users\[유저이름]\AppData\Local\Android\Sdk\platform-tools
    
  • /android 폴더에 local.properties 파일 만들고 해당 내용 입력
    sdk.dir = C:\\Users\\[유저이름]\\AppData\\Local\\Android\\Sdk
    

실제 기기로 테스트 시 포트오류 나면

adb devices
adb reverse tcp:8081 tcp:8081

자바 버전 변경

  • 가끔 특정 라이브러리 쓸 때 자바 버전 안 맞아서 빌드 오류 나는 경우가 있음
  • 다른 자바를 설치하고 gradle.properties에 설치된 경로로 해당 구문 추가
# 자바 버전 변경
org.gradle.java.home=C:\\Program Files\\Java\\jdk-17

HTTP 요청 시 주의사항

  • React-Native 내부 모듈은 Node.js와 구현이 다르다
    (React-Native에서 Node 내부 모듈을 따로 구현한 거라)
  • url로 요청할 때 그 주소가 redirect 되는 주소라면 Node.js와는 다르게 redirect를 따라가지 못해 커넥션이 종료된다.
  • 만일 서버에서 URL 구성 시 끝에 / 가 붙어있으면 요청 시 / 까지 붙어야 redirect 하지 않는데 이점 주의해서 요청해야 한다
// 주소 매핑이 / 로 되어있을 떄 
fetch("http://localhost/");

Multipart/form-data 요청

const formData = new FormData();
// formData 파일 전송
formData.append('form-data 키값', {
	uri: "파일 uri",
	name: "파일이름",
	type: "MME 타입",
});
 
// formData 일반 텍스트
 formData.append('form-data 키값', '값');
  • 이렇게 만든 formData 를 fetch body 값에 넣어야 한다