流星 + React + createcontainer

Meteor + React + createcontainer

在这里使用 react with meteor,我有一个名为 App 的主要组件,它包装了页面布局(Header、边栏、Right-sidebar)。

export default class App extends Component {
  render() {
    return (
      <div>
        <nav className="navigation">
          <Header />
          <Sidebar />
        </nav>
        <div className="content">
          <Subnavbar />
          <div className="container">
            {this.props.children}
          </div>
        </div>
        <Rightsidebar />
      </div>
    );
  }
};

我正在尝试使用 Meteor 的内置身份验证系统设置身份验证系统。使用“accounts-password”包。

据我所知,我需要使用 'meteor/react-meteor-data' 中的 createContainer 将 auth 参数注入组件。

类似于此示例:

import { createContainer } from 'meteor/react-meteor-data';
import MainPage from '../pages/MainPage.jsx'
export default MainContainer = createContainer(({params}) => {
  const currentUser = Meteor.user();
  return {
    currentUser,
  };
}, MainPage);

但是在上面的示例中,它只将参数注入到单个组件,我如何才能将授权信息注入到我的应用程序中的所有组件(Header、边栏等)

非常感谢您的帮助。

谢谢

如果将 App 包裹在 createContainer 中,那么 App 将有一个属性 currentUser。然后 App 负责将 currentUser 属性传递给所有组件。如果您发现自己传递 currentUser 太多了,那么您可以只将需要 currentUser 的组件包装在 createContainer.

在那种情况下,您将有 HeaderContainerSidebarContainer 等,每个都用 createContainer.

包裹