时间:2019-05-04 来源:小程序工厂
感谢反馈。初步判断是因为 immutable 对象原型中含有可枚举的项目导致的问题。目前组件的属性和 data 的初始数据只可以是普通 js 对象(因为在创建组件实例时需要对这些对象进行深复制)。
那请问下这种算不算bug,如果不算bug。那么为什么wxml能自动识别immutable对象,那么既然能识别,就代表是能支持的,既然能支持,那么这个问题应该算是bug吧?(在之前的版本中,并不会报错,但是,是自动转换成可变对象)。
请问下,官方内部是不是也用了类似immutable的工具类?
这个是某些使用场景下会报的问题,场景与具体代码中如何使用自定义组件有关。也就是说,有可能你在 wx:for 的节点下使用了自定义组件节点,就可能报这样的问题。
基础库从不理解 immutable 或其他无关的第三方库(所以就是转换成可变对象了)。分析具体原因的话,还是在于对象原型中可枚举的项目引发的一些问题。目前也没有使用 immutable 等的工具类。
这个问题我们会尝试在未来版本中进行兼容。但由于基础库并不理解 immutable 这样的第三方库,所以 immutable 对象还是会被转换成可变对象。
你们这个问题是个严重bug。
如果不支持immutalbe。那为什么微信开发者工具上可以正常运行,不会报错?部分真机也可以正常运行。在稍前的版本是自动转成可变对象。
但是,在最近的版本,发布后的代码就直接报错。
就因为你们微信开发者工具和真机调试,发布正式环境的差异。导致我们排查问题都非常困难,而且这么久了居然没个合理的解决方案,仅仅只是告诉我不支持immutable。
如果不支持,那开发工具也应该不支持才对。
这里的表现确实不应该跟以前不一样。麻烦给个代码片段我复现一下bug。