일정시간 이후 함수를 실행하거나, 동일한 주기로 같은 로직을 반복해서 사용할때 타이머함수를 사용한다.
 
 
- 일정 시간 후 함수 실행 : setTimeout(함수, 시간-ms) 
const timmer = setTimeout(() => {
  console.log("hello");
}, 3000);
- 설정된 Timeout 함수를 종료 : clearTimeout()
clearTimeout(timmer);

 

 

 

- 시간 간격마다 함수 실행 : setInterval(함수, 시간-ms) 

const interval = setInterval(() => {
  console.log("hello");
}, 3000);

- 설정된 Interval 함수를 종료 : clearInterval()

clearInterval(interval);

 

 

JavaScript객체 타입을 얻는 방법으로 typeof를 사용하면 된다. 

console.log(typeof "hello world");
console.log(typeof 123);
console.log(typeof true);
console.log(typeof undefined);
console.log(typeof null);
console.log(typeof {});
console.log(typeof []);
※ null 과 undefined의 의미는 비어있다는 의미는 같지만 의도하여 값이 없는 경우는 undefined 의도하지 않은 경우에 값이 없는 경우는  null이 된다.

결과

string
number
boolean
undefined
object
object
object

결과를 보면, 객체 타입의 값을 출력하지만 null, {}, [] 에 대한 출력값은 모두 objec로 출력된다.

 

null, {}, []의 정확한 객체의 타입을 얻기위해서는 아래와 같은 방법으로 얻을수 있다.

Object.prototype.toString.call(data);

출력 결과

[object Null]
[object Object]
[object Array]

 

양쪽의 []와 object라는 문자를 제거하기 위해 slice를 사용하면 깔끔하게 원하는 값을 얻을수 있다.

 

Object.prototype.toString.call(data).slice(8, -1);

 

출력결과

Null
Object
Array

 

 

 

 

 

'JavaScript' 카테고리의 다른 글

[JavaScript] 얕은 복사(shallow copy), 깊은 복사(Deep copy)  (0) 2023.01.16
[JavaScript] Lodash 란?  (0) 2023.01.11
[JavaScript] 타이머 함수  (0) 2023.01.02

리액트 네이티브 환경변수를 설정하고 서버 URL이 변경되어 값을 변경하고 다시 빌드를 진행하였다 

(https://magicofdream.tistory.com/30)

 

[React-Native] 앱의 환경변수 구성(react-native-config)

React-Native의 자바스크립트 코드에서 환경변수를 구성할 때 react-native-config를 사용한다. react-native-config 모듈은 패키징을 할 때 데이터를 난독화 하거나 암호화 하지 않음으로 민감한 정보에 대해

magicofdream.tistory.com

안드로이드의 경우는 변경한 URL로 접속이 되었는데, IOS 시뮬레이터로 테스트 시 기존의 URL로 계속 접속이 되어 삽질을 하였다.

 

1. Metro서버에 캐시가 남아있어서 발생하는 문제라 생각하고.Metro 서버 종료 후 캐시 리셋을 하였다.

react-native start --reset-cache

하지만 여전히 IOS에서 기존 URL로 접속하고 있었다.

 

2. 시뮬레이터에 캐시가 남아 있을 수도 있어서..? 라는 이야기가 있어 시뮬레이터를 종료 후 다시 실행을 해보았으나, 여전히 Config데이터는 변경되지 않았다.

 

3. node_module에 데이터가 캐싱되어 있을수 있다는 생각을 하고 프로젝트에 node_modules 폴더를 삭제 후 npm install을 하고 pod install 진행 후 다시 앱을 빌드하였다. Config값은 정상적으로 바뀌었으나 모듈을 모두 삭제하고 다시 빌드를 진행하여 꽤 시간이 오래걸렸다.

rm -rf node_modules

npm install

cd ios && pod install

 

4. 빌드 시간을 줄이고자 react-native-config 모듈을 삭제 후 재설치 pod install을 진행하였다.

npm uninstall react-native-config

npm install react-native-config

cd ios && pod install

다시 빌드를 하고 실행하니, 정상적으로 되는 것으로 Config 값이 갱신 되었음을 확인하였다. 이 방법 말고 다른 방법을 찾다가 react-native-config github의 issue에서 다른 방법을 발견 하였다.

https://github.com/luggit/react-native-config/issues/591

 

5. Xcode에서 ios폴더의 프로젝트를 오픈하고 Product >> Clean Build Folder를 진행 후 다시 빌드한다.

실행이 되지 않을 시 pod install 후 다시 실행하니 Config 값이 변경이 적용되었다.

 

※ 빌드 시간이 오래 걸린다는 단점이 존재한다.

 

'React-Native' 카테고리의 다른 글

[React-Native] 앱의 환경변수 구성(react-native-config)  (0) 2022.12.19
Visual Studio Code 단축키  (0) 2022.12.08
[Node-js] Node js(1)  (0) 2022.12.01

+ Recent posts