We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
create a new vite app - one remote and one host - and configure the MF :
// remote vite config export default defineConfig({ plugins: [ react({ babel: { plugins: [['module:@preact/signals-react-transform']], }, }), federation({ name: 'remoteApp', filename: 'remoteEntry.js', exposes: { './Button': './src/button', }, shared: ['react', 'react-dom'], }) ], build: { modulePreload: false, target: 'esnext', minify: false, cssCodeSplit: false } })
and config the host also:
export default defineConfig({ plugins: [ react({ babel: { plugins: [['module:@preact/signals-react-transform']], }, }), federation({ name: 'host-app', remotes: { remoteApp: "http://localhost:5001/assets/remoteEntry.js", }, shared: ['react', 'react-dom'], }) ], build: { modulePreload: false, target: 'esnext', minify: false, cssCodeSplit: false } })
in the remote - add the @preact/signals-react so it looks like this - that is the module to share :
import { signal } from "@preact/signals-react"; const counter = signal(0); function Button() { return ( <button className="my-button"onClick={() => counter.value++}> my button 123 - {counter?.value} </button> ) } export default Button
when you try to load this Button component in the host app - you will get one of these errors: -without shred lib:
TypeError: Cannot read properties of null (reading 'useRef')
-with shred react and react-dom lib you will get this error:
TypeError: Cannot read properties of null (reading 'useSyncExternalStore') at react_production_min.useSyncExternalStore (__federation_shared_react-DYlhdcjt.js:34:374)
we got exceptions
The text was updated successfully, but these errors were encountered:
I've got it too :(
Sorry, something went wrong.
I wonder if this is coues because external libraries that use react hook like - useSyncExternalStore
@yanai101 I've created a more general bug, because I think the issue is with the useSyncExternalStore hook.
useSyncExternalStore
No branches or pull requests
Versions
Reproduction
create a new vite app - one remote and one host - and configure the MF :
and config the host also:
in the remote - add the @preact/signals-react so it looks like this - that is the module to share :
Steps to reproduce
when you try to load this Button component in the host app - you will get one of these errors:
-without shred lib:
-with shred react and react-dom lib you will get this error:
What is actually happening?
we got exceptions
The text was updated successfully, but these errors were encountered: