Uncaught TypeError: Cannot assign to read only property

图片描述

图片描述

如图设置属性后,将这个对象设置为style属性,然后点击图片会重新渲染,但是会产生上面的错误,因为代码太多太乱,所以就不全贴了,我想问下大家可能是什么原因

阅读 5.1k
3 个回答

transform 是个只读属性,要看 styleObj,即 this.props.imgState.pos 是怎么定义的了

谢邀,如边城所答,这里的原因是styleObj指向了this.props.imgState.pos对象,而你此时修改该对象的transform属性,报该错:只读对象无法被修改。
你可以在这里debugger一下,输入Object.getOwnPropertyDescriptor(styleObj, 'transform');,看下其writable数据描述符是否为false

我的预期答案为true,如果是这样的话,你就可以看下this.props.imgState.pos对象怎么定义的了,我看这里的函数执行栈是react内部,有可能是其内部实现,也有可能是你定义的问题。
没使用过React,如果是内部问题就爱莫能助了。

请问这个问题解决了|?

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