Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何根据react中的不同用户角色构造组件文件夹_Reactjs - Fatal编程技术网

Reactjs 如何根据react中的不同用户角色构造组件文件夹

Reactjs 如何根据react中的不同用户角色构造组件文件夹,reactjs,Reactjs,在我的应用程序中,我将有两个不同角色的用户(讲师和学生)。到目前为止,我已经为一个用户角色(讲师)实现了所有功能,现在我将开始为另一个角色构建组件。许多组件将重叠,但它们需要提供相对不同的功能。我想知道我应该如何组织这些文件夹 例如,我有一个名为Assignment的组件,具有以下文件夹结构: => components => Assignment => AssignmentList.tsx => AssignmentCard.tsx 本部

在我的应用程序中,我将有两个不同角色的用户(讲师和学生)。到目前为止,我已经为一个用户角色(讲师)实现了所有功能,现在我将开始为另一个角色构建组件。许多组件将重叠,但它们需要提供相对不同的功能。我想知道我应该如何组织这些文件夹

例如,我有一个名为Assignment的组件,具有以下文件夹结构:

=> components
   => Assignment
      => AssignmentList.tsx
      => AssignmentCard.tsx
本部分将列出课程中当前讲师的所有作业

我还需要构建
作业
组件,让学生根据当前注册的课程列出可供其使用的作业。也许,我可以使用
AssignmentCard.tsx
组件,因为它只显示给定的分配信息

我想知道我是否应该为每个角色创建一个名为
Assignment\u Student
的新文件夹,还是应该在
Assignment
文件夹中创建两个子文件夹:
Student
讲师(可能还有一个名为
Common
的文件夹,用于放置共享组件,例如
AssignmentCard.tsx`)


有什么建议吗?

让我们看看未来。目前,我们正在为学生和讲师的结构问题绞尽脑汁。让我们包括大约5个假设角色,例如主持人、管理员、朋友(这不是一个很好的例子,但你可以理解)

现在我们可以更好地回答我们的问题了。在我看来,我们有以下几种选择,各有优缺点

结构1

=> components
    => shared
    => Assignment
        => Student
        => Instructor
        => Another hypothetical role
我相信这将很好地隔离角色及其功能。但我们面临两个级别的问题。我们可以在第二个选项中进行改进

结构2

=> components
    => shared
    => StudentAssignment
    => InstructorAssignment
    => AnotherHypotheticalAssignment
这可能比第一个更干净,我们现在只有一个级别的组件可供选择。更好的是,如果
作业
的任何共享组件需要在另一个地方使用,比如说
课外
,我们不必挠头,我们只需从共享组件中获取它们,而是真正的共享组件



TLDR我的建议是使用第二种结构

我认为你不应该想得太多,选择一种,在需要时重构。