内容:
我正在研究香草React和React Bootstrap(no redux)项目,以管理我部门中的角色。角色列表并非真正相关,但可以根据上下文进行想象:管理员,经理,培训师等。
我有一个<RoleContainer key={role} role={role} />
具有以下状态的父组件元素:
this.state = {
collapsed: true,
roleAttributes: [],
roleMembers: [],
isLoading: true,
};
在里面<RoleContainer />
,有一个<table/>
元素,其中包含一个,roleMembers.map
以循环遍历roleMembers
并动态呈现表行。因此,对于每个角色成员,您都会获得一个表格行。
问题:
我有一个名为的组件<CreateMemberModal role={role} roleAttributes={roleAttributes} />
,它是的子组件,<RoleContainer />
它允许用户POST
使用new roleMember
。
当前,我必须POST
将新roleMember
数据库插入数据库,然后重新加载页面,以便更改可以反映出来。
当我有一个新用户时,是否有一种可以接受的方式(不是反模式或不良做法)而无需进行重新处理以从子级内部更新组件的roleMembers
状态属性?<RoleContainer />
<CreateMemberModal />
POST
这样,我就可以只重新渲染<RoleContainer />
具有新角色成员的,而不用重新加载整个页面。
在其中添加方法<RoleContainer />
以更新roleMembers
// bind this in constructor
updateRoleMembers(newRoleMember) {
this.setState((prevState)=> {
return {roleMembers : prevState.roleMembers.concat([newRoleMember])}
}
}
现在将此方法传递给 CreateMemberModal
<CreateMemberModal role={role} roleAttributes={roleAttributes} updateRoleMembers={this.updateRoleMembers} />
每当您拥有新的成员角色详细信息时,都可以this.props.updateRoleMembers(NEW ROLE MEMBER)
在<CreateMemberModal
组件中调用
您可以向我提供有关如何执行此操作的任何文档吗?当您说提供回调时,您是说我将一个函数通过prop从父对象传递给孩子吗?
在此处检查反应文档
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句