订阅数据很晚到达Meteor-React Native Meteor
发布数据并从react本机客户端订阅后,准备订阅大约需要一分钟。如果更新集合,则再次获取数据和激发componentWillReceiveProps(newProps)方法大约需要一分钟。集合只有很少的文档 Meteor服务器代码:订阅数据很晚到达Meteor-React Native Meteor,meteor,react-native-meteor,Meteor,React Native Meteor,发布数据并从react本机客户端订阅后,准备订阅大约需要一分钟。如果更新集合,则再次获取数据和激发componentWillReceiveProps(newProps)方法大约需要一分钟。集合只有很少的文档 Meteor服务器代码: import { Meteor } from 'meteor/meteor'; import { Accounts } from 'meteor/accounts-base'; import { ArtWorks } from './database/artwork
import { Meteor } from 'meteor/meteor';
import { Accounts } from 'meteor/accounts-base';
import { ArtWorks } from './database/artworks';
import { Gallerys } from './database/gallerys';
import { PlayerData } from './database/playerdata';
import { Questions } from './database/questions';
import { Relics } from './database/relics';
import { RelicsOnMap } from './database/relicsonmap';
Meteor.startup(() => {
});
Meteor.publish('getRelicsOnMap', function getRelicsOnMap (){
console.log("publishing...")
return RelicsOnMap.find({});
});
RelicsOnMap系列:
import { Mongo } from 'meteor/mongo';
export const RelicsOnMap = new Mongo.Collection('relicsonmap');
客户:
import React, { Component } from 'react';
import { View } from 'react-native';
import {
Container,
Header,
Title,
Content,
Button,
Item,
Input,
Body,
Left,
Right,
Icon,
Form,
Text,
Spinner,
Toast
} from "native-base";
import Meteor,{withTracker} from 'react-native-meteor';
class ProfileScreen extends Component {
constructor(props) {
super(props);
this.userData;
this.state = {
};
}
componentDidMount(){
console.log(this.props)
}
componentWillReceiveProps(newProps){
console.log(newProps)
}
render() {
return (
<Container>
<Text>This is Profile screen</Text>
<Text>This is Profile screen</Text>
</Container>
);
}
}
export default withTracker(params => {
Meteor.subscribe('getRelicsOnMap');
return {
relicsOnMap: Meteor.collection('relicsonmap').find({})
};
})(ProfileScreen);
import React,{Component}来自'React';
从“react native”导入{View};
进口{
集装箱,
标题,
标题
内容,,
按钮
项目,,
输入,
身体,
左边
正确的,
偶像
形式,
文本,
纺纱机,
干杯
}来自“本土基地”;
从“react native Meteor”导入Meteor,{withTracker};
类ProfileScreen扩展组件{
建造师(道具){
超级(道具);
这是用户数据;
此.state={
};
}
componentDidMount(){
console.log(this.props)
}
组件将接收道具(新道具){
console.log(newProps)
}
render(){
返回(
这是个人资料屏幕
这是个人资料屏幕
);
}
}
使用跟踪器导出默认值(参数=>{
Meteor.subscribe('GetReliconMap');
返回{
relicsOnMap:Meteor.collection('relicsOnMap').find({})
};
})(屏幕);
我在另一个组件中连接Meteor.connect并成功。
这里有一个演示问题的小视频:
我发现react natives remote debugger导致了这个问题。当我没有通过google chrome连接到我的本地网络进行调试时,一切都很好。我猜这是个bug。你看过网络面板了吗?没有,我会尽快检查(我现在在外面)提醒你,我什么都没改变,只是它现在还在工作?我会做更多的测试…试着切换到,看看你是否有同样的问题。