我试图通过meteor.com/tutorials/学习Meteor,我已经完成了火焰版本 - 一切都运行得很好,现在我尝试了React版本(meteor.com/tutorials/react/collections )。我在导入集合时遇到了一些问题。
在步骤3.4之后,我做了:
db.tasks.insert({ text: "Hello world!", createdAt: new Date() });
然后运行meteor(sudo meteor run),应用程序正常启动,但在Web浏览器中我看不到任何数据。只有背景样式。
编辑1:
/imports/api/tasks.js
import { Mongo } from 'meteor/mongo';
export const Tasks = new Mongo.Collection('tasks');
/imports/ui/App.JSX
import React, { Component, PropTypes } from 'react';
import { createContainer } from 'meteor/react-meteor-data';
import { Tasks } from '../api/tasks.js';
import Task from './Task.jsx';
// App component - represents the whole app
class App extends Component {
renderTasks() {
return this.props.tasks.map((task) => (
<Task key={task._id} task={task} />
));
}
render() {
return (
<div className="container">
<header>
<h1>Todo List</h1>
</header>
<ul>
{this.renderTasks()}
</ul>
</div>
);
}
}
App.propTypes = {
tasks: PropTypes.array.isRequired,
};
export default createContainer(() => {
return {
tasks: Tasks.find({}).fetch(),
};
}, App);
/server/main.js
import '../imports/api/tasks.js';
(这是包含所有修改过的文件的GitHub存储库:https://github.com/brozermanik/meteor-rect-tutorial)
EDIT2:在我试过的Mongo shell中:
show dbs
和
show collections
它显示了任务db及其元素。
因此,Meteor无法从Mngo获取数据,或者渲染组件出现问题。
很抱歉,如果这是一个太新手的问题,但我已经被困3天了。
答案 0 :(得分:0)
在server / main.js中,应放置
import { Meteor } from 'meteor/meteor';
import { Mongo } from 'meteor/mongo';
Meteor.startup(() => {
// code to run on server at startup
Tasks = new Mongo.Collection('tasks');
});
我认为问题在于您将其放在client / main.js中!