Skip to content

[Bug] TypeError: Cannot assign to read only property 'properties' of object '#<Object>' #250

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Jacky-Summer opened this issue May 21, 2025 · 10 comments
Labels
bug Something isn't working

Comments

@Jacky-Summer
Copy link

Jacky-Summer commented May 21, 2025

🙋 SDK Version

Please input version of SDK.

📌 Layout

Free layout or Fixed layout?

💻 Environment

  • Operation System: (e.g. Windows 11 / macOs 14.3)
  • Node.js:
  • Other:

📝 Question Description

偶现。usePropertiesEdit 这个hook。看起来是react的不可变性

Image
@Jacky-Summer Jacky-Summer added the bug Something isn't working label May 21, 2025
@sanmaopep
Copy link
Collaborator

我跟进下,我后续有打算用表单的 重写这里的逻辑

@Jacky-Summer
Copy link
Author

我跟进下,我后续有打算用表单的 重写这里的逻辑

好的感谢大佬,盼快点更新

@Jacky-Summer
Copy link
Author

Jacky-Summer commented May 21, 2025

我跟进下,我后续有打算用表单的 重写这里的逻辑

大佬,我把JsonSchemaEditor这个组件搬到我本地改造。发现如果是本地写死的 initialData 文件的数据,就是都正常的,如果返回的 initialData 是拿后端接口数据的返回的,就必现报错。有什么招数可以临时补救吗,我试着改为不可变对象,但会一直刷

@Jacky-Summer
Copy link
Author

我跟进下,我后续有打算用表单的 重写这里的逻辑

大佬,我把JsonSchemaEditor这个组件搬到我本地改造。发现如果是本地写死的 initialData 文件的数据,就是都正常的,如果返回的 initialData 是拿后端接口数据的返回的,就必现报错。有什么招数可以临时补救吗,我试着改为不可变对象,但会一直刷

initialData 我传入组件的时候,深拷贝了下cloneDeep()数据传入解决了。

@Jacky-Summer
Copy link
Author

我跟进下,我后续有打算用表单的 重写这里的逻辑

另外大佬重写的时候有个问题能不能看看修复,目前变量顺序会根据JS变量名循环的顺序,数字开头变量名永远在前,然后是字母等等。能不能保持添加顺序不动

@sanmaopep
Copy link
Collaborator

@Jacky-Summer 嗯嗯,现在还没按照 extra.index 排序

@sanmaopep
Copy link
Collaborator

@Jacky-Summer 没复现这个问题,你有没有用 mobx、immer 之类的库?

@Jacky-Summer
Copy link
Author

@Jacky-Summer 没复现这个问题,你有没有用 mobx、immer 之类的库?

有用第三方状态管理库,估计是这个原因,初始数据存了

@sanmaopep
Copy link
Collaborator

@Jacky-Summer
个人推荐直接用我们的表单引擎或者 node.updateExtInfo 做状态管理,如果是全局状态管理可以用 zustand (或者 @xiamidaxia 那边还有什么建议)
immer 和 mobx 一堆 proxy 很容易出现 bug

@sanmaopep
Copy link
Collaborator

排序问题已修复到 0.2 版本 cc @Jacky-Summer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants