(클라이언트에 모든 사용자를 게시)를 표시하고 나는 시스템의 모든 사용자에게 표시하기 위해 노력하고있어 : 내가 가지고있는유성/반작용 - 모든 사용자가 내가 유성이/반작용 사용하고
를 :/수입/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}});
});
}
및
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);
/imports/ui/App.jsx
그러나 그것은 여전히 현재 로그인 사용자를 보여줍니다.autopublish/insecure를 설정하면 코드가 올바르게 작동합니다.
Meteor/React를 사용하여 모든 사용자를 클라이언트에 게시하는 올바른 방법은 무엇입니까?
또 다른 관련 문제는 그 난 여전히 email.address 필드는 현재 사용자에 대한 표시에 안전하지 않은 autopublish를 설정/경우에도 -이 필드 발표에도 불구하고 :
return Meteor.users.find({}, {fields: {"emails.address": 1}});
사용자가 주에 거주하고 있으며 소품에서 가져 오려고했습니다. –
내가 이것을 수행하는 방법이라고 설명하는 https://www.youtube.com/watch?v=ootKAwnQiP4를 따라갔습니다. 그것이 틀린 경우 수정을 제안하십시오 –