在这里使用与meteor的反应,我有一个名为App的主要组件,它包含页面布局(页眉,侧栏,右侧栏)。
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内置的auth系统设置身份验证系统。使用“ accounts-password ”包。
据我所知,我需要使用来自'meteor / react-meteor-data'的 createContainer 来向组件注入auth params。
与此示例类似:
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);
但是在上面的例子中,它只将parms注入单个组件,我怎样才能将auth信息注入我的应用程序中的所有组件(Header,Sidebars ..etc)
非常感谢您的帮助。
谢谢
答案 0 :(得分:1)
如果您将App
包裹在createContainer
中,那么App
将拥有道具currentUser
。然后,App
可以将currentUser
道具传递给您的所有组件。如果您发现自己过于currentUser
过多,那么您只能在currentUser
中打包需要createContainer
的组件。
在这种情况下,您将拥有HeaderContainer
,SidebarContainer
等,每个都包含createContainer
。