Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor/React-显示所有用户(将所有用户发布到客户端)_Meteor - Fatal编程技术网

Meteor/React-显示所有用户(将所有用户发布到客户端)

Meteor/React-显示所有用户(将所有用户发布到客户端),meteor,Meteor,我正在使用Meteor/React,并试图显示系统中的所有用户: 我有:/imports/api/users.js import { Meteor } from 'meteor/meteor'; import { Mongo } from 'meteor/mongo'; if (Meteor.isServer) { // This code only runs on the server // Only publish tasks that are public or bel

我正在使用Meteor/React,并试图显示系统中的所有用户:

我有:/imports/api/users.js

import { Meteor } from 'meteor/meteor';
import { Mongo } from 'meteor/mongo';     

if (Meteor.isServer) {
  // This code only runs on the server
  // Only publish tasks that are public or belong to the current user
  Meteor.publish('allUsers', function () {
    return Meteor.users.find({}, {fields: {"emails.address": 1}});  
  });    
}
和/imports/ui/App.jsx

import React, { Component, PropTypes } from 'react';
import ReactDOM from 'react-dom';
import { Meteor } from 'meteor/meteor';
import { createContainer } from 'meteor/react-meteor-data';
class App extends Component {

    constructor() {
        super();
        this.state = {
            subscription: {
                users: Meteor.subscribe('allUsers')
            }
        }
    }

    componentWillUnmount() {
        this.state.subscription.users.stop();
    }


    render() {
        let users = this.props.users;
        console.log(users);
        return (<div>
            <h1>GoArc User Manager</h1>

            <div>
                {users.map((user)=>{
                    if ('emails' in user ) {
                        email = user.emails[0].address;
                    } else {
                        email = '?'
                    }
                    return <div key={user._id}>{user._id} - {email}</div>
                })
                }
            </div>
        </div>)
    }
}


export default createContainer(() => {
  return {
    users: Meteor.users.find({ }).fetch(),
  };
}, App);

代码是正确的,但我忘记添加
import'../imports/api/users.js'

在/server/main.js

中,您的用户处于您的状态,并试图从道具获取它。你介意改变一下我刚才说的话吗?解释一下这是做这件事的方法。如果它是错误的,请建议一个解决方案。你可能应该删除这个问题,然后。我保留它,下次我会有一个类似的问题,所以搜索
return Meteor.users.find({}, {fields: {"emails.address": 1}});