Be well coding/In Immersive
7/11 - 2주 프로젝트
be well
2019. 7. 11. 23:22
Toy 24번 문제 . 로마 숫자를 숫자로 변환해서 리턴.
각 로마자에 맞는 숫자를 담고 자신의 뒤의 수가 본인보다 크면 - , 아닐경우 +
var translateRomanNumeral = function(romanNumeral) {
let num = DIGIT_VALUES;
let rom = romanNumeral;
if (!(typeof rom === "string")) {
return null;
}
if (rom === "") {
return 0;
} else {
let total = 0;
for (let i = 0; i < rom.length; i++) {
if (num[rom[i]] < num[rom[i + 1]]) {
total -= num[rom[i]];
} else {
total += num[rom[i]];
}
}
return total;
}
};
react native 를 처음 접해보면서 신기했던 부분은 기본 내장 메소드가 아닌 tag 하나하나를 import 해서 쓴다는 것이었다.
또한 기본적인 템플릿이 잡혀있는 react native base 라이브러리를 사용하면 초보자도 어느정도 틀이 잡힌 App 을
개발할 수 있을 것 같다.
(기본 native 에도 button 태그가 존재하고 native base 라이브러리에도 존재한다.)
코드를 작성하다가 알 수 없는 비동기 오류가 발생해서 원인을 찾아보니 native base 에 하단바와 버튼을 사용할 때
그 곳에 사용되는 폰트를 불러오는 것보다 렌더가 빨라져서 발생한 문제였다.
async await 사용해서 렌더의 순서를 정해주었고 그 동안은 홈이 아닌 네이티브에서 제공하는 App loading 을 사용해서
빈화면으로 대기 상태를 처리했다.
아직 리액트도 잘 다루지 못하는데 native 를 잘 사용할 수 있을까 하는 맘으로 시작한 frint end.. 화이팅..ㅠㅠ