본문 바로가기
개발/RN

[RN] WebView와 Web 통신하기

by devhooney 2024. 5. 17.
728x90

 

 

 

 

 

 

 

 

웹뷰와 웹브라우저 간 통신 방법 알아보기!

 

 

 

 

728x90

 

 

 

 

1. 웹뷰 -> 웹

- RN

const webviewRef = useRef(null);


// React Native에서 데이터를 웹뷰로 보내는 함수
const sendDataToWebView = (data) => {
  console.log(data);
  const serializedData = JSON.stringify(data); // 객체를 문자열로 직렬화
  webviewRef.current.postMessage(serializedData);
};

 

 

- Web

// 웹뷰에서 React Native로부터 데이터를 받는 함수
window.addEventListener("message", (event) => {
  const receivedData = JSON.parse(event.data); // 문자열을 객체로 파싱
  console.log(receivedData);
  // 이후 작업 수행
});

 

 

 

 

2. 웹 -> 웹뷰

- Web

// RN으로 메시지 전송
window.postMessage(JSON.stringify({ type: 'message', content: 'Hello from the web!' }));

 

 

- RN

<WebView
    source={{ uri: 'your_webpage_url' }}
    onMessage={(event) => {
        const message = JSON.parse(event.nativeEvent.data);
        console.log('Message from web:', message);
        // 이제 이 메시지를 사용하여 원하는 작업을 수행할 수 있습니다.
    }}
/>

 

 

 

 

 

728x90

'개발 > RN' 카테고리의 다른 글

[RN] Expo FCM 푸시알림 구현하기 (2)  (197) 2024.06.04
[RN] Expo FCM 푸시알림 구현하기 (1)  (143) 2024.05.30
[RN] expo eas 관련 명령어 정리  (203) 2024.05.09
[RN] expo 앱 테스트 하기  (188) 2024.04.25
[RN] WebView 뒤로가기 구현하기  (123) 2024.01.30