还在React Native的学习曲线上。我已经阅读了Realm文档和其他论坛,但似乎无法找到将数据写入Realm的看似简单概念的答案。例如;
在我的代码中,我从本地json文件接收数据(用户列表),并且能够访问和显示他们的信息。
我挣扎的是onPress函数bookmarkItem
。按下按钮的位置我想{j}从json文件到Realm的realm.write
个数据。如何在我的领域数据库中存储说{{user.login.username}}
的值?以下是有问题的代码;
import { users } from '../config/data';
import Realm from 'realm'
class Article {}
Article.schema = {
name: 'Article',
properties: {
key: 'data',
image: 'data',
title: 'data',
}
};
let realm = new Realm({schema: [Article]});
class Feed extends Component {
onLearnMore = (user) => {
this.props.navigation.navigate('Details', { ...user });
};
bookmarkItem = (user) => {
realm.write(() => {
realm.create('Article', {
key: {{user.login.username}},
image: {{ uri: user.picture.large}},
title: {{user.name.first}},
});
});
};
render() {
return (
<ScrollView>
{users.map((user) => (
<Card key={user.login.username}>
<CardItem header>
<Right>
<Button onPress={() => this.bookmarkItem(user)}>
<Icon name="bookmark" />
</Button>
</Right>
</CardItem>
<CardItem cardBody onPress={() => this.onLearnMore(user)}>
<Image source={{ uri: user.picture.large }}/>
</CardItem>
<CardItem content>
<Text>{user.name.first} {user.name.last}</Text>
</CardItem>
</Card>
))}
</ScrollView>
);
}
显然,我并不了解使用架构数据类型以及如何以及在何处正确执行我的realm.write函数。任何帮助将不胜感激。 干杯
答案 0 :(得分:0)
您不必在渲染函数中的JSX元素之外使用{{}}
。而不是{{user.login.username}}
只需在user.login.username
函数中使用realm.create
。
同样对于图片,您不应该使用uri: user.picture.large
只需user.picture.large
即可。您可以稍后将该变量用作uri。