我有一个React组件,它根据初始配置对象呈现一堆可折叠菜单。该对象是JSON,但菜单树结构可能如下所示:
Group A
用户可以点击标题对象,例如getDefaultProps: function() {
return {
title: '',
itemsList: [],
initiallyOpened: true
};
},
getInitialState: function() {
return {
isOpened: this.props.initiallyOpened
};
}
它会崩溃/扩大这个群体 - 基本上是手风琴。
每个组组件的属性数量有限,道具和州看起来像这样:
initiallyOpened
当用户点击组标题时,我将isOpened属性切换为状态。
这非常适合允许用户打开/关闭群组,但我也喜欢某些全局行为,例如打开所有或关闭所有。
我知道我可以明确设置componentWillReceiveProps()
道具,这会触发initiallyOpened
来电,但我不希望{{1}}的值在组件时保持不变收到一些其他新道具(可能会在列表中添加一个新项目)。
我应该在何处以及如何处理此GUI状态的管理?