我正在尝试通过meta.com/tutorials/学习Meteor,我已经完成了blaze版本-一切都运行得很好,现在当我尝试React版本(mes.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天了。
发布于 2019-01-31 22:39:13
在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中!
https://stackoverflow.com/questions/39330733
复制相似问题