https://codesandbox.io/s/vjonpw8xzl (无响应,请在新窗口/整页中查看以正确查看)
所需结果:单击每张卡上的向下(扩展)图标时,它们彼此独立运行,通过切换className: expanded
和{{1}来打开/关闭扩展菜单className: 'show'
}
发生了什么:单击扩展图标时,应用程序的状态正在更新,所有扩展菜单同时打开。
我了解为什么会这样,只是不知道如何解决。
如果这是我自己的数据,我会将其添加到状态为每个对象
className: 'hide'
并进行切换,但是由于来自API的数据量很大,所以我不知道该怎么做。任何帮助表示赞赏。
答案 0 :(得分:0)
您可以将其移动到isExpanded
组件中,并删除所有App
/ Character
道具,而不是处理isExpanded
组件中toggleExpanded
的状态逻辑
答案 1 :(得分:0)
您需要确定哪些状态正在实际定义组件并且需要该组件。由于isExpanded
和toggleExpanded
是character
组件特有的内容,因此它们应驻留在该组件中。