Я работаю над своим первым приложением 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 должным образом здесь? Я немного помог бы, потому что я пытаюсь отойти от компонентов с состоянием. Спасибо