Logo
Published on
·2 min read

React Native - Realm(BSON) WARN 해결

이 글은 이전 블로그에서 작성한 내용을 옮겨오면서 내용을 추가/수정한 글입니다.

WARN 메시지

React Native에서 Realm을 이용해서 realm.create를 이용 중 WARN이 발생하는 것을 발견했습니다.

WARN 내용은 아래와 같습니다.

BSON: For React Native please polyfill crypto.getRandomValues, e.g. using: https://www.npmjs.com/package/react-native-get-random-values.

WARN이 발생한 코드는 다음과 같습니다.

realm.write(() => {
      realm.create('Schema', {
        _id: new Realm.BSON.ObjectId(),
        message: 'Hello World',
      });
    });

new Realm.BSON.ObjectId()에서 발생하는 것으로 보입니다.

react-native-get-random-values 설치

우선은 WARN 메시지에 있는 링크의 설명에 따라 install 합니다.

npm install react-native-get-random-values

아직은 동일한 WARN이 발생합니다.

import 'react-native-get-random-values' 추가

import 'react-native-get-random-values';
import Realm from 'realm';

Realm import 전에 import 'react-native-get-random-values'를 추가해 줍니다.

WARN 메시지가 사라진 것을 확인했습니다.

❗ 순서가 중요합니다. 순서가 Realm import보다 뒤에 오면, 동일한 WARN이 발생했습니다.

참고 사이트

생활코딩! React 리액트 프로그래밍, 위키북스  리액트 네이티브를 다루는 기술:실무에서 알아야 할 기술은 따로 있다!, 길벗
(위 링크는 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.)