로토의 블로그

TIL: 20171026

  • react
    • async ~ await 구문을 쓸 때 함수 내에서 setState 콜백이 필요한 경우의 문제.
      async function 내에서 arrow function(setState callback) 에서 await 키워드를 쓸 수 없어서 문제가 생긴다. 이 런 경우는 아래처럼 Promise로 한번 래핑해줘서 호출하면 된다.
    ...
    async toggleSpinner(value) {
      return new Promise((resolve) => {
        this.setState({ isNowFetching: value }, resolve);
      });
    }
    async login (email, password) {
       ...
    }
    

    handleLogin = async () => { const { email, password } = this.state;

    await toggleSpinner(true); await login(email, password); await toggleSpinner(false); }; …

  • react-native
    • 안드로이드 기준으로 0.47부터 NativeModule쪽에서 호환성을 깨는 변경이 있었다고 한다. ReactPackage interface의 createJSModules가 없어진 듯. 해당 메소드 구현을 없애야 정상적으로 compile 된다.