Почему useEffect не вызывается с Realm Native? - PullRequest
0 голосов
/ 12 октября 2019

Я работаю над своим первым приложением React Native. Ранее я работал с React и с Android, и я подумал, что это хорошая возможность объединить оба мира. Я обычно использую Царство в качестве БД и хотел бы использовать его и здесь.

Я написал следующий функциональный компонент в качестве теста, поскольку я впервые использую Realm с RN.

import React, { useEffect, useState } from 'react';
import { StyleSheet, Text, View } from 'react-native';
import Realm from 'realm';

const Main = () => {
  const [realmDb, setRealmDb] = useState(null);
  useEffect(() => {
    console.log('Use effect called');
    Realm.open({
      schema: [{ name: 'Dog', properties: { name: 'string' } }]
    }).then(realm => {
      console.log(realm);
      realm.write(() => {
        realm.create('Dog', { name: 'Rex' });
      });
      setRealmDb({ realm: realm });
    });
    console.log(realmDb);
    // setCount(count + 1);
  }, []);

  const text = { realmDb } ? 'Number of dogs = ' + realmDb.objects('Dogs').length : 'Loading';

  return (
    <View style={styles.sectionContainer}>
      <Text>Welcome to QikNative</Text>
      <Text>{text}</Text>
    </View>
  );
};

const styles = StyleSheet.create({
  sectionContainer: {
    marginTop: 32,
    paddingHorizontal: 24
  }
});

export default Main;


По какой-то причине эффект использования не вызывается. Я что-то пропустил? Я не использую Realm должным образом здесь? Я немного помог бы, потому что я пытаюсь отойти от компонентов с состоянием. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...