summaryrefslogtreecommitdiff
path: root/packages/integrations/react/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/react/README.md')
-rw-r--r--packages/integrations/react/README.md33
1 files changed, 33 insertions, 0 deletions
diff --git a/packages/integrations/react/README.md b/packages/integrations/react/README.md
index 8009972b3..98eb252d3 100644
--- a/packages/integrations/react/README.md
+++ b/packages/integrations/react/README.md
@@ -63,6 +63,39 @@ To use your first React component in Astro, head to our [UI framework documentat
## Options
+### Combining multiple JSX frameworks
+
+When you are using multiple JSX frameworks (React, Preact, Solid) in the same project, Astro needs to determine which JSX framework-specific transformations should be used for each of your components. If you have only added one JSX framework integration to your project, no extra configuration is needed.
+
+Use the `include` (required) and `exclude` (optional) configuration options to specify which files belong to which framework. Provide an array of files and/or folders to `include` for each framework you are using. Wildcards may be used to include multiple file paths.
+
+We recommend placing common framework components in the same folder (e.g. `/components/react/` and `/components/solid/`) to make specifying your includes easier, but this is not required:
+
+```js
+import { defineConfig } from 'astro/config';
+import preact from '@astrojs/preact';
+import react from '@astrojs/react';
+import svelte from '@astrojs/svelte';
+import vue from '@astrojs/vue';
+import solid from '@astrojs/solid-js';
+
+export default defineConfig({
+ // Enable many frameworks to support all different kinds of components.
+ // No `include` is needed if you are only using a single JSX framework!
+ integrations: [
+ preact({
+ include: ['**/preact/*'],
+ }),
+ react({
+ include: ['**/react/*'],
+ }),
+ solid({
+ include: ['**/solid/*'],
+ }),
+ ],
+});
+```
+
### Children parsing
Children passed into a React component from an Astro component are parsed as plain strings, not React nodes.