Yomguithereal / react-blessed

A react renderer for blessed.
MIT License
4.45k stars 177 forks source link

Suspense not working correctly with the react reconciler #121

Open zcaudate opened 3 years ago

zcaudate commented 3 years ago

This issue is started here, when I was trying out suspense with react

https://github.com/pmndrs/jotai/issues/475

It seems that the Suspense works on initial load, but then when a new promise is thrown, it is missing a method that is available on react-dom:

TypeError: hideInstance is not a function
    at hideOrUnhideAllChildren (/Users/chris/Development/tahto/foundation/src-app/js_blessed/store_test/.build/node_modules/.pnpm/registry.nlark.com+react-reconciler@0.26.2_react@17.0.1/node_modules/react-reconciler/cjs/react-reconciler.development.js:12734:11)
    at commitSuspenseComponent (/Users/chris/Development/tahto/foundation/src-app/js_blessed/store_test/.build/node_modules/.pnpm/registry.nlark.com+react-reconciler@0.26.2_react@17.0.1/node_modules/react-reconciler/cjs/react-reconciler.development.js:13536:7)
    at commitWork (/Users/chris/Development/tahto/foundation/src-app/js_blessed/store_test/.build/node_modules/.pnpm/registry.nlark.com+react-reconciler@0.26.2_react@17.0.1/node_modules/react-reconciler/cjs/react-reconciler.development.js:13474:9)
    at commitMutationEffects (/Users/chris/Development/tahto/foundation/src-app/js_blessed/store_test/.build/node_modules/.pnpm/registry.nlark.com+react-reconciler@0.26.2_react@17.0.1/node_modules/react-reconciler/cjs/react-reconciler.development.js:15968:11)
    at Object.invokeGuardedCallbackProd (/Users/chris/Development/tahto/foundation/src-app/js_blessed/store_test/.build/node_modules/.pnpm/registry.nlark.com+react-reconciler@0.26.2_react@17.0.1/node_modules/react-reconciler/cjs/react-reconciler.development.js:12101:10)
    at invokeGuardedCallback (/Users/chris/Development/tahto/foundation/src-app/js_blessed/store_test/.build/node_modules/.pnpm/registry.nlark.com+react-reconciler@0.26.2_react@17.0.1/node_modules/react-reconciler/cjs/react-reconciler.development.js:12292:31)
    at commitRootImpl (/Users/chris/Development/tahto/foundation/src-app/js_blessed/store_test/.build/node_modules/.pnpm/registry.nlark.com+react-reconciler@0.26.2_react@17.0.1/node_modules/react-reconciler/cjs/react-reconciler.development.js:15682:9)
    at unstable_runWithPriority (/Users/chris/Development/tahto/foundation/src-app/js_blessed/store_test/.build/node_modules/.pnpm/registry.nlark.com+scheduler@0.20.2/node_modules/scheduler/cjs/scheduler.development.js:468:12)
    at runWithPriority (/Users/chris/Development/tahto/foundation/src-app/js_blessed/store_test/.build/node_modules/.pnpm/registry.nlark.com+react-reconciler@0.26.2_react@17.0.1/node_modules/react-reconciler/cjs/react-reconciler.development.js:2495:10)
    at commitRoot (/Users/chris/Development/tahto/foundation/src-app/js_blessed/store_test/.build/node_modules/.pnpm/registry.nlark.com+react-reconciler@0.26.2_react@17.0.1/node_modules/react-reconciler/cjs/react-reconciler.development.js:15551:3)

an example has been set up here:

https://github.com/zcaudate/js-blessed.store-test

zcaudate commented 3 years ago

this is the setup for react-dom

https://codesandbox.io/s/react-typescript-forked-813p1?file=/src/App.tsx