我正在为我的react项目进行身份验证,而我当前的文件结构就像这样
-components
-auth
AuthContainer.jsx
ForgotWidget.jsx
LoginWidget.jsx
SignUpWidget.jsx
然后我通过<LoginWidget />
将这些全部组合在一起的最佳做法是什么,所以我可以称之为而不是呼叫每个人?
答案 0 :(得分:0)
您可以设置一个包装器组件,根据特定的prop确定要呈现的组件。您的AuthContainer
实际上看起来很合适。
也许您可以执行<AuthContainer widget="login" />
或<AuthContainer widget="forgot" />
之类的操作。
在你的AuthContainer
中你有一个控制流程如下:
const {widget} = this.props;
switch (widget) {
case 'login': return <LoginWidget />;
case 'forgot': return <ForgotWidget />;
..
}
如果widget
负责允许用户在视图之间切换的所有控件,也许controller
也可以是容器的内部状态。