javascript - 在 Meteor React 组件中显示用户名

标签 javascript meteor reactjs

我的 React 组件之一是我的主布局,我在其中显示带有当前登录用户的导航栏。问题在于,首次渲染组件时,Meteor.user()undefined。一旦用户对象被加载/发布,我将如何正确渲染我的导航栏?

MainLayout.jsx

import React, { Component } from 'react';

export default class MainLayout extends Component {
  render() {
    return (<div>{ Meteor.user().username }</div>);
  }
}

谢谢。

最佳答案

Meteor.user() 应该是 container component 的一部分。应将react-meteor-data包添加到项目中。

import { Meteor } from 'meteor/meteor';
import { createContainer } from 'meteor/react-meteor-data';
import MainLayout from './mainLayout';

export default MainLayoutContainer = createContainer(({ params }) => {
  return {
    user: Meteor.user(),
  };
}, MainLayout);

用户将在 MainLayout 组件中用作 props。

关于javascript - 在 Meteor React 组件中显示用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38780425/

相关文章:

javascript - .Net Core 2.2-事件目录: get user name on javascript

javascript - "Cannot read property ' 内容 ' of null": Psuedo Elements

javascript - 如何使用 jQuery 获取成功的 ajax 响应并将其分配到变量中?

Javascript - 为什么用 IIFE 返回一个闭包?

javascript - Meteor 集合从服务器更新,未在客户端上进行响应式(Reactive)排序

javascript - 渲染模板后,如何更改空格键中的模板辅助函数?

mongodb - 使用传统 id 更新 meteor 集合

javascript - 单击按钮时调用 AJAX 不起作用

javascript - 如何停止 reactjs 中的自动页面滚动?

javascript - 在文本中添加指向文本的链接 - React Native