我有一个呈现评论的父组件。此组件的子项是删除注释组件。我只想在用户具有特定角色时呈现删除注释组件。
我的问题是这种逻辑应该在父母或孩子的哪个地方生活?
我的想法是哪个组件负责管理删除评论的权限?删除组件或由删除注释组成的组件是否负责。
我离开了必须知道删除注释权限的父组件,它只知道它是由删除组件组成的,但不是内部细节如何工作,所有逻辑都封装在删除中评论组件。
但我对这种方法有反馈,质疑为什么要渲染一个专门删除评论的组件,如果你不能删除评论。
代码段:
删除评论组件的逻辑如下:
this.props.userGroups.includes(DELETE_COMMENTS) ? <a onClick={this.deleteComment(deleteComment)}>Remove comment</a> : null
并且父母只有:
<DeleteComment />
没有检查用户是否可以删除评论的逻辑
或者应该更像是:
this.props.userGroups.includes(DELETE_COMMENTS) ? <DeleteComment /> : null