Tengo una aplicación Meteor que estoy desarrollando con React. Todavía tengo el paquete de autopublish@1.0.7 autopublish .
Aquí está mi código relevante:
MainMenu.jsx
import React, { Component, PropTypes } from 'react' import { Meteor } from 'meteor/meteor' import { FlowRouter } from 'meteor/kadira:flow-router' import { createContainer } from 'meteor/react-meteor-data' import { ChatRooms } from '/imports/api/chatrooms.js' export class MainMenu extends Component { render() { console.log(this.props.chatrooms) return ( {/* Render stuff here is not part of the scope of this question */} ) } } MainMenu.PropTypes = { chatrooms: PropTypes.array.isRequired } export default createContainer(() => { return { chatrooms: ChatRooms.find({}).fetch() } }, MainMenu)salas de chat.js
import { Mongo } from 'meteor/mongo' export const ChatRooms = new Mongo.Collection('chatrooms') El console.log(this.props.chatrooms) en el componente MainMenu siempre devuelve una matriz vacía ( [] ).
Definitivamente hay elementos en la base de datos de Mongo porque cuando ejecuto el comando meteor mongo en mi consola y db.chatrooms.find({}); devuelve los 3 elementos que he insertado para probar todo esto.
¿Alguien tiene alguna idea de lo que puedo estar haciendo mal aquí? ¡La ayuda sería muy apreciada!
Lo he descubierto. Dejé fuera un paso crucial de todo este proceso.
En mi archivo /server/main.js necesitaba agregar la siguiente línea que arregló todo:
import '../imports/api/chatrooms.js