728x90
반응형

요새 안드로이드로 webview안에서 event를 감지하는 것을 적용하다가, 예전에 React Native 를 이용해서 는 어떻게 해놓았었는지 문득 궁금해서 소스 코드를 찾아보았다

 

const onWebViewMessage = NativeEvent => {
if (
!util.is_empty(NativeEvent?.nativeEvent?.data) &&
JSON.parse(NativeEvent.nativeEvent.data).hasOwnProperty('type') &&
JSON.parse(NativeEvent.nativeEvent.data).type === 'exit'
) {
console.log(
'NativeEvent.nativeEvent.data',
JSON.parse(NativeEvent.nativeEvent.data).type,
);
exitFromWeb();
}
if (
!util.is_empty(NativeEvent?.nativeEvent?.data) &&
JSON.parse(NativeEvent.nativeEvent.data).hasOwnProperty('language')
) {
// changedLangFromWeb(JSON.parse(NativeEvent.nativeEvent.data).language);
}
};
const onWebViewError = e => {
util.spineer_hide();
console.log('WebView error: ', e);
};

해당 함수들을

{visible && (
<WebView
onLoadEnd={onWebViewEndLoading}
onMessage={onWebViewMessage}
onError={onWebViewError}
ref={webViewRef}
source={{uri: route.params.my_url}}

/>
)}

안에 등록 해놓었다.

728x90
반응형
728x90
반응형

오랜만에 RN 수정사항이 들어와서 프로젝트를 clone 하고 yarn 으로 모듈을 설치 한후 

 

yarn android 로 사뿐히 앱을 실행해보니

 

에러가 나왔다.

접근권한때문에 나오는 에러기때문에

 

 chmod 755 android/gradlew

명령어를 clone받은 프로젝트 루트에서 한번 입력해주고 다시 yarn android로 프로젝트 실행!

728x90
반응형

+ Recent posts