Clarify preact/compat integration docs (#4267)
* Clarify preact/compat integration * Create long-lobsters-ring.md Co-authored-by: Fred K. Schott <fkschott@gmail.com>
This commit is contained in:
parent
52068e2644
commit
5b1facfe29
2 changed files with 22 additions and 0 deletions
5
.changeset/long-lobsters-ring.md
Normal file
5
.changeset/long-lobsters-ring.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
"@astrojs/preact": patch
|
||||
---
|
||||
|
||||
README: Clarify `compat` docs
|
|
@ -104,6 +104,23 @@ export default defineConfig({
|
|||
|
||||
With the `compat` option enabled, the Preact integration will render React components as well as Preact components in your project and also allow you to import React components inside Preact components. Read more in [“Switching to Preact (from React)”](https://preactjs.com/guide/v10/switching-to-preact) on the Preact website.
|
||||
|
||||
When importing React component libraries, in order to swap out the `react` and `react-dom` dependencies as `preact/compat`, you can use [`overrides`](https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides) to do so.
|
||||
|
||||
```js
|
||||
// package.json
|
||||
{
|
||||
"overrides": {
|
||||
"react": "npm:@preact/compat@latest",
|
||||
"react-dom": "npm:@preact/compat@latest"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Check out the [`pnpm` overrides](https://pnpm.io/package_json#pnpmoverrides) and [`yarn` resolutions](https://yarnpkg.com/configuration/manifest#resolutions) docs for their respective overrides features.
|
||||
|
||||
> **Note**
|
||||
> Currently, the `compat` option only works for React libraries that export code as ESM. If an error happens during build-time, try adding the library to `vite.ssr.noExternal: ['the-react-library']` in your `astro.config.mjs` file.
|
||||
|
||||
|
||||
## Examples
|
||||
|
||||
|
|
Loading…
Reference in a new issue