我正在使用React开发流星应用程序。我的项目中仍然有autopublish
个包(autopublish@1.0.7
)。
以下是我的相关代码:
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)
chatrooms.js
import { Mongo } from 'meteor/mongo'
export const ChatRooms = new Mongo.Collection('chatrooms')
console.log(this.props.chatrooms)
组件中的MainMenu
始终返回一个空数组([]
)。
Mongo
数据库中肯定存在项目,因为当我在控制台中运行meteor mongo
命令并键入db.chatrooms.find({});
时,它会返回我插入的3个项目来测试这一切
任何人都知道我在这里做错了什么?非常感谢帮助!
答案 0 :(得分:2)
我已经弄清楚了。我遗漏了整个过程的关键步骤。
在我的/server/main.js
文件中,我需要添加以下行来修复所有内容:
import '../imports/api/chatrooms.js