为什么Realm Native无法调用useEffect?

时间:2019-10-12 20:25:55

标签: react-native realm react-native-android

我正在开发我的第一个React Native App。我以前曾与React和Android一起工作过,我认为这将是融合两个世界的好机会。我通常将Realm用作数据库,也想在这里使用它。

我已经编写了以下功能组件作为测试,因为这是我第一次将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?当我尝试摆脱有状态组件时,我会提供一些帮助。 谢谢

0 个答案:

没有答案