列表中的图片做弹出放大,弹出层组件位置放哪里?

如果有一个列表,列表成员含有属性img 。
现在要写一个组件,点击这个img,放大/缩小展示。

问题是:这个图片展示组件已经应该放置在哪个位置。

方案1:放在与列表同级的位置,每次点击成员的图片,就把当前的img的数据同步到state顶部,然后传入到图片展示组件;

方案2:放在列表成员内部,每次点击成员的图片,就在成员内部切换展示;

方案1感觉顶层state有点复杂,需要到state顶层去设置一个中转的属性,但是胜在dom结构合理;
方案2感觉顶层state没有多余属性,但是dom结构不合理,每一个列表成员都需要配备一个图片展示组件;

请问码友们,平时遇到这种问题一般怎么解决?谢谢

阅读 5.7k
1 个回答

始终遵循“组件”原则,img的放大效果只是img的一个组件行为,所以放在组件内部是比较说得过去的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题