基于状态的映射项的条件类渲染

时间:2019-02-26 04:52:10

标签: reactjs conditional-rendering

https://codesandbox.io/s/vjonpw8xzl (无响应,请在新窗口/整页中查看以正确查看)

所需结果:单击每张卡上的向下(扩展)图标时,它们彼此独立运行,通过切换className: expanded和{{1}来打开/关闭扩展菜单className: 'show' }

发生了什么:单击扩展图标时,应用程序的状态正在更新,所有扩展菜单同时打开。

我了解为什么会这样,只是不知道如何解决。

如果这是我自己的数据,我会将其添加到状态为每个对象

className: 'hide'

并进行切换,但是由于来自API的数据量很大,所以我不知道该怎么做。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

您可以将其移动到isExpanded组件中,并删除所有App / Character道具,而不是处理isExpanded组件中toggleExpanded的状态逻辑

答案 1 :(得分:0)

您需要确定哪些状态正在实际定义组件并且需要该组件。由于isExpandedtoggleExpandedcharacter组件特有的内容,因此它们应驻留在该组件中。