Meteor + React + createContainer - 用户配置文件查找

时间:2017-08-31 03:35:02

标签: reactjs meteor

是否可以通过这种方式找到用户并获取信息?我在尝试

时获得unidentified
console.log(this.props.userDetails)

这是我的createContainer配置

export default createContainer(() => {

  const userDetails = Meteor.users.find({ _id: 'WSLuMFqofmks5i99F'  }).fetch().profile

  return { userDetails };
}, userProfile);

假设将传递有效的ID并且结果将作为对userProfile组件的道具

1 个答案:

答案 0 :(得分:0)

你的意思是undefined? 确切的错误消息会有所帮助。

您可以使用findOne()代替find()fetch()(仅为方便起见)。

这行代码:

const userDetails = Meteor.users.find({ _id: 'WSLuMFqofmks5i99F'  }).fetch().profile

假设有一个用户使用该_id。更好的防御性代码是:

export default createContainer(() => {
  const user = Meteor.users.findOne({ _id: 'WSLuMFqofmks5i99F'  })
  if (!user) throw new Meteor.error("Could not find user")
  return {userDetails: user.profile}
}, userProfile);

然后你可以看到错误是什么