更新
描述
我在Realm对象上有一个侦听器,用于获取更新。当服务器(或客户端)上有更新时,提供给侦听器的函数将调用setState({})。
奇怪的是,即使控制台说一切正常,并且表明render方法是用正确的数据调用的,我也看不到我的应用程序有任何更新。
如果我随机地(在1s,2s,20s ...之后)点击屏幕,UI会神奇地更新,并且一切正确。
如果我使用从按钮调用的函数执行相同的setState,那么我猜是因为按钮的动画触发了UI更新。
感谢您阅读本文。
制作步骤
您必须更新server_url和凭据才能工作。
react-native初始化测试npm install realm react-native链接域
由于领域尚未为64位做好准备,因此您还必须确保仅在32位中进行编译,以避免启动时应用崩溃
使用此代码:
App.js
import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View} from 'react-native';
import Realm from 'realm'
import { SERVER_URL } from "./config/realm";
import { Utente } from "./config/schema";
export default class App extends Component {
loginAsync = async () => {
var realm_user = Realm.Sync.User.current
if(!realm_user){
const credentials = Realm.Sync.Credentials.usernamePassword('admin', '******' ,false);
realm_user = await Realm.Sync.User.login(SERVER_URL, credentials);
}
const config = realm_user.createConfiguration({
schema: …Run Code Online (Sandbox Code Playgroud) 寻找 react-native 库或开发方法来存档以下内容:
在我的本机应用程序中,我想将图片(由用户拍摄)和其他文件(如用户数据库“realm.db(来自 realmjs)”)与用户 iCloud 驱动器同步。
我是否需要使用 cloudkitjs 将所有文件上传到网络,或者是否可以将文件放入特定的应用程序目录中,并且每次用户更新 iphone 设备时 -> 应用程序都会自动同步?
非常感谢让我朝着正确方向前进的任何帮助。
我有这样的数据
PersonJSONData = {
"key1": {
"name": "odo",
"age": 10,
"favorites": {
"food": ["rice", "chocolate", "sugar"],
"game": [],
"color": ["red"]
},
"key2": {
"name": "yana",
"age": 50,
"favorites": {
"band": [],
"food": ["eggs"],
"book": ["ABC", "how to cook"]
}
},
...
}}
Run Code Online (Sandbox Code Playgroud)
如何在realmfor中写入架构react native?
const personSchema = {
name: "Person",
properties: {
name: string,
age: int,
// favorites: I don't know what to write here??
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用类型字典(“{}”),但它给了我一个错误:
[错误:混合属性不能包含值数组。]
当我使用“混合”类型时,我收到此错误:
[错误:仅支持领域实例。]
我需要为此创建一个对象类型吗?如果是这样,当我不确定收藏夹中的按键是什么时该怎么办?
这是我创建和编写实例的代码。
const …Run Code Online (Sandbox Code Playgroud) 我在我的 React 本机应用程序中使用领域,尝试从领域数据库查询对象列表。
function* loadPlaces() {
let realm;
try {
const filter = yield select(getFilter);
realm = yield call(Realm.open, {schema: [PlaceSchema]});
let places = realm.objects(PlaceSchema.name);
if (filter.search) {
places = places.filtered("name CONTAINS $0", filter.search);
}
switch (filter.sort) {
case Sort.BY_NAME:
places = places.sorted('name');
break;
}
yield put(loadPlacesSucceed(places));
} catch (e) {
console.warn(e.message);
} finally {
if (realm) {
realm.close();
}
}
}
Run Code Online (Sandbox Code Playgroud)
之后,我在 flatlist 中使用结果数据:
<FlatList
data={this.props.items}
keyExtractor={(item) => '' + item.id}
renderItem={({item}) =>
<PlaceItem item={item} onClick={(item) => this._onItemClicked(item)}/>}/>
Run Code Online (Sandbox Code Playgroud)
并收到错误: …
更新
我找到了v10.0.0 的发行说明,在这里我找到了重大更改。我想这应该足够了吧?
最初的问题
我想将我们的react-native项目中使用的领域库版本(v6.1.0)升级到最新的稳定版本(v10.4.0)。
由于我没有找到任何从 v6 到 v10 信息的升级文档,所以在这里问一下:是否有任何我们必须注意的更改,例如不再支持的 api 方法?
如果是这样,包含升级到此版本的步骤的自述文件将非常棒。
谢谢!