baidu / amis

前端低代码框架,通过 JSON 配置就能生成各种页面。
https://baidu.github.io/amis/
Apache License 2.0
16.47k stars 2.4k forks source link

[amis-editor] 在vite项目中调用报错:[mobx-state-tree] You are trying to read or write to an object that is no longer part of a state tree. #10532

Open hotlong opened 4 days ago

hotlong commented 4 days ago

描述问题:

在一个最简单的vite项目中,集成设计器,不能渲染。 https://github.com/builder6app/amis-editor

截图或视频:

可以的话,尽可能提供截图或视频来补充描述你的问题... 浏览器显示空白,控制台报错。

如何复现(请务必完整填写下面内容):

  1. 你是如何使用 amis 的?

  2. amis 版本是什么?请先在最新 beta 版本测试问题是否存在 6.3 , 6.5 都不行。

  3. 报错信息

    
    chunk-4OIBUITW.js:28588 Uncaught Error: [mobx-state-tree] You are trying to read or write to an object that is no longer part of a state tree. (Object type: 'RootStore', Path upon death: '', Subpath: 'runtimeError', Action: ''). Either detach nodes first, or don't use objects after removing / replacing them in the tree.
    at fail$1 (chunk-4OIBUITW.js:28588:10)
    at ObjectNode2.assertAlive (chunk-4OIBUITW.js:27684:19)
    at ObjectNode2.unbox (chunk-4OIBUITW.js:27746:12)
    at ObservableValue2.dehanceValue (chunk-4OIBUITW.js:15377:21)
    at ObservableValue2.get (chunk-4OIBUITW.js:15428:19)
    at ObservableObjectAdministration2.read (chunk-4OIBUITW.js:17810:31)
    at Object.get [as runtimeError] (chunk-4OIBUITW.js:17967:25)
    at RootRenderer2.render (chunk-4OIBUITW.js:45861:18)
    at allowStateChanges (chunk-4OIBUITW.js:15325:11)
    at chunk-4OIBUITW.js:22665:21
    fail$1 @ chunk-4OIBUITW.js:28588
    ObjectNode2.assertAlive @ chunk-4OIBUITW.js:27684
    ObjectNode2.unbox @ chunk-4OIBUITW.js:27746
    ObservableValue2.dehanceValue @ chunk-4OIBUITW.js:15377
    ObservableValue2.get @ chunk-4OIBUITW.js:15428
    ObservableObjectAdministration2.read @ chunk-4OIBUITW.js:17810
    get @ chunk-4OIBUITW.js:17967
    RootRenderer2.render @ chunk-4OIBUITW.js:45861
    allowStateChanges @ chunk-4OIBUITW.js:15325
    (匿名) @ chunk-4OIBUITW.js:22665
    trackDerivedFunction @ chunk-4OIBUITW.js:15140
    Reaction2.track @ chunk-4OIBUITW.js:15909
    reactiveRender @ chunk-4OIBUITW.js:22663
    finishClassComponent @ react-dom.development.js:19781
    updateClassComponent @ react-dom.development.js:19727
    beginWork @ react-dom.development.js:21650
    callCallback2 @ react-dom.development.js:4164
    invokeGuardedCallbackDev @ react-dom.development.js:4213
    invokeGuardedCallback @ react-dom.development.js:4277
    beginWork$1 @ react-dom.development.js:27490
    performUnitOfWork @ react-dom.development.js:26596
    workLoopConcurrent @ react-dom.development.js:26582
    renderRootConcurrent @ react-dom.development.js:26544
    performConcurrentWorkOnRoot @ react-dom.development.js:25777
    workLoop @ scheduler.development.js:266
    flushWork @ scheduler.development.js:239
    performWorkUntilDeadline @ scheduler.development.js:533
    显示另外 27 个框架
    收起
    chunk-4OIBUITW.js:28588 Uncaught Error: [mobx-state-tree] You are trying to read or write to an object that is no longer part of a state tree. (Object type: 'RootStore', Path upon death: '', Subpath: 'runtimeError', Action: ''). Either detach nodes first, or don't use objects after removing / replacing them in the tree.
    at fail$1 (chunk-4OIBUITW.js:28588:10)
    at ObjectNode2.assertAlive (chunk-4OIBUITW.js:27684:19)
    at ObjectNode2.unbox (chunk-4OIBUITW.js:27746:12)
    at ObservableValue2.dehanceValue (chunk-4OIBUITW.js:15377:21)
    at ObservableValue2.get (chunk-4OIBUITW.js:15428:19)
    at ObservableObjectAdministration2.read (chunk-4OIBUITW.js:17810:31)
    at Object.get [as runtimeError] (chunk-4OIBUITW.js:17967:25)
    at RootRenderer2.render (chunk-4OIBUITW.js:45861:18)
    at allowStateChanges (chunk-4OIBUITW.js:15325:11)
    at chunk-4OIBUITW.js:22665:21
    fail$1 @ chunk-4OIBUITW.js:28588
    ObjectNode2.assertAlive @ chunk-4OIBUITW.js:27684
    ObjectNode2.unbox @ chunk-4OIBUITW.js:27746
    ObservableValue2.dehanceValue @ chunk-4OIBUITW.js:15377
    ObservableValue2.get @ chunk-4OIBUITW.js:15428
    ObservableObjectAdministration2.read @ chunk-4OIBUITW.js:17810
    get @ chunk-4OIBUITW.js:17967
    RootRenderer2.render @ chunk-4OIBUITW.js:45861
    allowStateChanges @ chunk-4OIBUITW.js:15325
    (匿名) @ chunk-4OIBUITW.js:22665
    trackDerivedFunction @ chunk-4OIBUITW.js:15140
    Reaction2.track @ chunk-4OIBUITW.js:15909
    reactiveRender @ chunk-4OIBUITW.js:22663
    finishClassComponent @ react-dom.development.js:19781
    updateClassComponent @ react-dom.development.js:19727
    beginWork @ react-dom.development.js:21650
    callCallback2 @ react-dom.development.js:4164
    invokeGuardedCallbackDev @ react-dom.development.js:4213
    invokeGuardedCallback @ react-dom.development.js:4277
    beginWork$1 @ react-dom.development.js:27490
    performUnitOfWork @ react-dom.development.js:26596
    workLoopSync @ react-dom.development.js:26505
    renderRootSync @ react-dom.development.js:26473
    recoverFromConcurrentError @ react-dom.development.js:25889
    performConcurrentWorkOnRoot @ react-dom.development.js:25789
    workLoop @ scheduler.development.js:266
    flushWork @ scheduler.development.js:239
    performWorkUntilDeadline @ scheduler.development.js:533
    显示另外 28 个框架
    收起
    react-dom.development.js:22878 Uncaught Error: [mobx-state-tree] You are trying to read or write to an object that is no longer part of a state tree. (Object type: 'RootStore', Path upon death: '', Subpath: 'id', Action: '.removeStore()'). Either detach nodes first, or don't use objects after removing / replacing them in the tree.
    at fail$1 (chunk-4OIBUITW.js:28588:10)
    at ObjectNode2.assertAlive (chunk-4OIBUITW.js:27684:19)
    at ObjectNode2.unbox (chunk-4OIBUITW.js:27746:12)
    at ObservableValue2.dehanceValue (chunk-4OIBUITW.js:15377:21)
    at ObservableValue2.get (chunk-4OIBUITW.js:15428:19)
    at ObservableObjectAdministration2.read (chunk-4OIBUITW.js:17810:31)
    at Object.get [as id] (chunk-4OIBUITW.js:17967:25)
    at removeStore (chunk-4OIBUITW.js:31065:19)
    at Object.removeStore (chunk-4OIBUITW.js:37693:7)
    at executeAction (chunk-4OIBUITW.js:15263:15)
    fail$1 @ chunk-4OIBUITW.js:28588
    ObjectNode2.assertAlive @ chunk-4OIBUITW.js:27684
    ObjectNode2.unbox @ chunk-4OIBUITW.js:27746
    ObservableValue2.dehanceValue @ chunk-4OIBUITW.js:15377
    ObservableValue2.get @ chunk-4OIBUITW.js:15428
    ObservableObjectAdministration2.read @ chunk-4OIBUITW.js:17810
    get @ chunk-4OIBUITW.js:17967
    removeStore @ chunk-4OIBUITW.js:31065
    removeStore @ chunk-4OIBUITW.js:37693
    executeAction @ chunk-4OIBUITW.js:15263
    bound removeStore @ chunk-4OIBUITW.js:15250
    runMiddleWares @ chunk-4OIBUITW.js:28279
    runWithActionContext @ chunk-4OIBUITW.js:28202
    res @ chunk-4OIBUITW.js:28220
    RootRenderer2.componentWillUnmount @ chunk-4OIBUITW.js:45620
    wrapper @ chunk-4OIBUITW.js:22544
    fn2 @ chunk-4OIBUITW.js:22561
    callComponentWillUnmountWithTimer @ react-dom.development.js:22891
    safelyCallComponentWillUnmount @ react-dom.development.js:22912
    commitDeletionEffectsOnFiber @ react-dom.development.js:24168
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24209
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24209
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24209
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24209
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24209
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24157
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24057
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24057
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24057
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24057
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24057
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24057
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24057
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24157
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24198
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24209
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24157
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24209
    commitDeletionEffects @ react-dom.development.js:24015
    recursivelyTraverseMutationEffects @ react-dom.development.js:24298
    commitMutationEffectsOnFiber @ react-dom.development.js:24471
    commitMutationEffects @ react-dom.development.js:24282
    commitRootImpl @ react-dom.development.js:26849
    commitRoot @ react-dom.development.js:26721
    finishConcurrentRender @ react-dom.development.js:25931
    performConcurrentWorkOnRoot @ react-dom.development.js:25848
    workLoop @ scheduler.development.js:266
    flushWork @ scheduler.development.js:239
    performWorkUntilDeadline @ scheduler.development.js:533
    显示另外 85 个框架
    收起
    react-dom.development.js:22878 Uncaught Error: [mobx-state-tree] You are trying to read or write to an object that is no longer part of a state tree. (Object type: 'RootStore', Path upon death: '', Subpath: 'id', Action: '.removeStore()'). Either detach nodes first, or don't use objects after removing / replacing them in the tree.
    at fail$1 (chunk-4OIBUITW.js:28588:10)
    at ObjectNode2.assertAlive (chunk-4OIBUITW.js:27684:19)
    at ObjectNode2.unbox (chunk-4OIBUITW.js:27746:12)
    at ObservableValue2.dehanceValue (chunk-4OIBUITW.js:15377:21)
    at ObservableValue2.get (chunk-4OIBUITW.js:15428:19)
    at ObservableObjectAdministration2.read (chunk-4OIBUITW.js:17810:31)
    at Object.get [as id] (chunk-4OIBUITW.js:17967:25)
    at removeStore (chunk-4OIBUITW.js:31065:19)
    at Object.removeStore (chunk-4OIBUITW.js:37693:7)
    at executeAction (chunk-4OIBUITW.js:15263:15)
    fail$1 @ chunk-4OIBUITW.js:28588
    ObjectNode2.assertAlive @ chunk-4OIBUITW.js:27684
    ObjectNode2.unbox @ chunk-4OIBUITW.js:27746
    ObservableValue2.dehanceValue @ chunk-4OIBUITW.js:15377
    ObservableValue2.get @ chunk-4OIBUITW.js:15428
    ObservableObjectAdministration2.read @ chunk-4OIBUITW.js:17810
    get @ chunk-4OIBUITW.js:17967
    removeStore @ chunk-4OIBUITW.js:31065
    removeStore @ chunk-4OIBUITW.js:37693
    executeAction @ chunk-4OIBUITW.js:15263
    bound removeStore @ chunk-4OIBUITW.js:15250
    runMiddleWares @ chunk-4OIBUITW.js:28279
    runWithActionContext @ chunk-4OIBUITW.js:28202
    res @ chunk-4OIBUITW.js:28220
    RootRenderer2.componentWillUnmount @ chunk-4OIBUITW.js:45620
    wrapper @ chunk-4OIBUITW.js:22544
    fn2 @ chunk-4OIBUITW.js:22561
    callComponentWillUnmountWithTimer @ react-dom.development.js:22891
    safelyCallComponentWillUnmount @ react-dom.development.js:22912
    commitDeletionEffectsOnFiber @ react-dom.development.js:24168
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24209
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24209
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24209
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24209
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24209
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24157
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24057
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24172
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24157
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24198
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24209
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24157
    recursivelyTraverseDeletionEffects @ react-dom.development.js:24028
    commitDeletionEffectsOnFiber @ react-dom.development.js:24209
    commitDeletionEffects @ react-dom.development.js:24015
    recursivelyTraverseMutationEffects @ react-dom.development.js:24298
    commitMutationEffectsOnFiber @ react-dom.development.js:24471
    commitMutationEffects @ react-dom.development.js:24282
    commitRootImpl @ react-dom.development.js:26849
    commitRoot @ react-dom.development.js:26721
    finishConcurrentRender @ react-dom.development.js:25931
    performConcurrentWorkOnRoot @ react-dom.development.js:25848
    workLoop @ scheduler.development.js:266
    flushWork @ scheduler.development.js:239
    performWorkUntilDeadline @ scheduler.development.js:533
    显示另外 71 个框架
    收起
    react-dom.development.js:18704 The above error occurred in the <RootRenderer2> component:
    
    at RootRenderer2 (http://localhost:5173/node_modules/.vite/deps/chunk-4OIBUITW.js?v=61045dbe:44692:22)
    at ImageGallery2 (http://localhost:5173/node_modules/.vite/deps/amis-editor.js?v=61045dbe:61631:45)
    at class_1 (http://localhost:5173/node_modules/.vite/deps/chunk-4OIBUITW.js?v=61045dbe:26307:26)
    at class_1 (http://localhost:5173/node_modules/.vite/deps/chunk-4OIBUITW.js?v=61045dbe:26053:26)
    at Root2 (http://localhost:5173/node_modules/.vite/deps/chunk-4OIBUITW.js?v=61045dbe:45424:40)
    at ScopedComponent2 (http://localhost:5173/node_modules/.vite/deps/chunk-4OIBUITW.js?v=61045dbe:38951:28)
    at class_1 (http://localhost:5173/node_modules/.vite/deps/chunk-4OIBUITW.js?v=61045dbe:45384:26)
    at AMISRenderer (http://localhost:5173/node_modules/.vite/deps/chunk-4OIBUITW.js?v=61045dbe:45543:20)
    at div
    at t2 (http://localhost:5173/node_modules/.vite/deps/amis-editor.js?v=61045dbe:131766:32)
    at div
    at div
    at div
    at t2 (http://localhost:5173/node_modules/.vite/deps/amis-editor.js?v=61045dbe:131610:32)
    at div
    at div
    at div
    at t2 (http://localhost:5173/node_modules/.vite/deps/amis-editor.js?v=61045dbe:135691:14)
    at AmisEditor
    at Suspense
    at App

Consider adding an error boundary to your tree to customize error handling behavior. Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries. logCapturedError @ react-dom.development.js:18704 update.callback @ react-dom.development.js:18737 callCallback @ react-dom.development.js:15036 commitUpdateQueue @ react-dom.development.js:15057 commitLayoutEffectOnFiber @ react-dom.development.js:23430 commitLayoutMountEffects_complete @ react-dom.development.js:24727 commitLayoutEffects_begin @ react-dom.development.js:24713 commitLayoutEffects @ react-dom.development.js:24651 commitRootImpl @ react-dom.development.js:26862 commitRoot @ react-dom.development.js:26721 finishConcurrentRender @ react-dom.development.js:25931 performConcurrentWorkOnRoot @ react-dom.development.js:25848 workLoop @ scheduler.development.js:266 flushWork @ scheduler.development.js:239 performWorkUntilDeadline @ scheduler.development.js:533 显示另外 15 个框架 收起



5. 操作步骤
请简单描述一下复现的操作步骤...