我正在开发我的第一个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?当我尝试摆脱有状态组件时,我会提供一些帮助。 谢谢