如果有一个列表,列表成员含有属性img 。
现在要写一个组件,点击这个img,放大/缩小展示。
问题是:这个图片展示组件已经应该放置在哪个位置。
方案1:放在与列表同级的位置,每次点击成员的图片,就把当前的img的数据同步到state顶部,然后传入到图片展示组件;
方案2:放在列表成员内部,每次点击成员的图片,就在成员内部切换展示;
方案1感觉顶层state有点复杂,需要到state顶层去设置一个中转的属性,但是胜在dom结构合理;
方案2感觉顶层state没有多余属性,但是dom结构不合理,每一个列表成员都需要配备一个图片展示组件;
请问码友们,平时遇到这种问题一般怎么解决?谢谢
始终遵循“组件”原则,img的放大效果只是img的一个组件行为,所以放在组件内部是比较说得过去的。