代码
效果,可以看到上部分是测试(随便文字)可以实现瀑布流,而下部分(图片)不能,全在左边
在检查元素中发现上方的li与下方的不一致
谢邀。没有用过macy,以下列出我的猜测思路,仅供参考:
1、现状总结:硬编码的li正常渲染了,而map出来的没有走macy;切换设备类型就都正常了;
2、调研了一下,渲染瀑布流需调用macy.recalculate();
3、猜测:一、topic更新后没有重新调用macy.recalculate(); 二、调用了,但是由于React更新时macy被重置
4、进一步猜测:由于切换设备类型会正常渲染,所以以上猜测一可能性更大
5、解决方案:调整macy.recalculate()调用时机,放到更新topic后,或者写个Effect;
topic是mock的数据还是接接口了