我正在使用以下流星方法创建新用户:
Meteor.methods({
"users.add": function(newUser) {
let cResult = Accounts.createUser({
username: newUser.username,
email: newUser.email
password: newUser.password,
profile: {
first_name: newUser.first_name,
last_name: newUser.last_name,
clinic: newUser.clinic
}
});
for (var index in newUser.roles) {
Roles.addUsersToRoles(cResult, newUser.roles[index].label);
}
return true;
},
"users.addRole": function(userId, newRole) {
Roles.addUsersToRoles(userId, newRole);
return true;
}
});
以及下面的代码订阅mongo集合:
export default withTracker(() => {
let usersSubscription = Meteor.subscribe("allUsers");
let rolesSubscriptioin = Meteor.subscribe("allRoles");
const eachReady = usersSubscription.ready() &&
rolesSubscriptioin.ready();
const loading = usersSubscription ? !eachReady : true;
return {
loading,
users: Meteor.users.find().fetch(),
roles: Meteor.roles.find().fetch()
};
})(Users);
我正在使用React来呈现信息。创建新用户时,除了角色信息外,我还可以获取新创建的用户。在react组件中导致“地图未定义”错误。
我是新来的流星,任何帮助都是好的。
答案 0 :(得分:0)
尝试了诸如getDerviedStateFromProps生命周期方法之类的多种解决方案后,我在进行渲染时对未定义状态进行了简单检查,从而解决了该问题,而无需使用任何生命周期方法。这可能是不正确的,所以仍然可以接受建议。