Issues getting Meteor data into React Native using createContainer
Closed this issue · 1 comments
ketankulkarni commented
version information -
"native-base": "^2.2.1",
"react": "16.0.0-alpha.12",
"react-native": "0.46.3",
"react-native-meteor": "^1.1.0",
problem statement -
how to display data using createContainer in react native when class is already exported , because exporting more than one component is not allowed.
recentPayement.js
import React, { Component } from 'react';
import {
Text,
View,
} from 'react-native';
import Meteor, { createContainer } from 'react-native-meteor';
sentMoneyContainer= createContainer(() => {
Meteor.subscribe('sentMoney');
return {
count: Meteor.collection('send').find().length,
};
}, RecentPayment);
export default class RecentPayment extends Component {
render() {
return (
<View>
<Text>
{this.props.count}
</Text>
</View>
);
}
}
module.exports = RecentPayment;
items.js on meteor side-
import { Mongo } from 'meteor/mongo';
import { Meteor } from 'meteor/meteor'; // ADD THIS
const Items = new Mongo.Collection('items');
const Send = new Mongo.Collection('send');
Meteor.methods({
'Items.addOne': ({ name }) => {
return Items.insert({ name });
},
'sendmoney': (acc,amt,desc) => {
return Send.insert({
account:acc,
amount:amt,
description:desc
});
},
});
Meteor.publish('sentMoney', () => {
return Send.find();
});
export default Items;
reference -
spencercarli commented
Just export the wrapped component later, like so
import React, { Component } from 'react';
import {
Text,
View,
} from 'react-native';
import Meteor, { createContainer } from 'react-native-meteor';
class RecentPayment extends Component {
render() {
return (
<View>
<Text>
{this.props.count}
</Text>
</View>
);
}
}
const sentMoneyContainer= createContainer(() => {
Meteor.subscribe('sentMoney');
return {
count: Meteor.collection('send').find().length,
};
}, RecentPayment);
export default sentMoneyContainer;