πΏ Minor Changes
- #10675
14f1d49a10541fecc4c10def8a094322442ccf23Thanks @fightingcat! - Expose Babel config for @astro/react.
14f1d49a10541fecc4c10def8a094322442ccf23 Thanks @fightingcat! - Expose Babel config for @astro/react.195f51f82a44df32be73865949aabee0d46ffe61 Thanks @matthewp! - Mark @material-tailwind/react as noExternal#10136 9cd84bd19b92fb43ae48809f575ee12ebd43ea8f Thanks @matthewp! - Changes the default behavior of transition:persist to update the props of persisted islands upon navigation. Also adds a new view transitions option transition:persist-props (default: false) to prevent props from updating as needed.
Islands which have the transition:persist property to keep their state when using the <ViewTransitions /> router will now have their props updated upon navigation. This is useful in cases where the component relies on page-specific props, such as the current page title, which should update upon navigation.
For example, the component below is set to persist across navigation. This component receives a products props and might have some internal state, such as which filters are applied:
<ProductListing transition:persist products={products} />Upon navigation, this component persists, but the desired products might change, for example if you are visiting a category of products, or you are performing a search.
Previously the props would not change on navigation, and your island would have to handle updating them externally, such as with API calls.
With this change the props are now updated, while still preserving state.
You can override this new default behavior on a per-component basis using transition:persist-props=true to persist both props and state during navigation:
<ProductListing transition:persist-props="true" products={products} />20ca3154fb37049cbcd51b06d9fa2ef25ac25a36 Thanks @StandardGage! - Fixes an issue where passing void elements (img, etc..) did not work with the experimentalReactChildren option enabled#9482 72b26daf694b213918f02d0fcbf90ab5b7ebc31f Thanks @natemoo-re! - Improves compatability with the Qwik adapter
#9479 1baf0b0d3cbd0564954c2366a7278794fad6726e Thanks @sarah11918! - Updates README
1c48ed286 Thanks @bluwy! - Adds Vite 5 support. There are no breaking changes from Astro. Check the Vite migration guide for details of the breaking changes from Vite instead.1c48ed286 Thanks @bluwy! - Adds Vite 5 support. There are no breaking changes from Astro. Check the Vite migration guide for details of the breaking changes from Vite instead.ac5633b8f Thanks @brandonsdebt! - Uses node:stream during server rendering for compatibility with Cloudflare85fe213fe Thanks @natemoo-re! - Update experimentalReactChildren behavior to support void tags#8188 d0679a666 Thanks @ematipico! - Remove support for Node 16. The lowest supported version by Astro and all integrations is now v18.14.1. As a reminder, Node 16 will be deprecated on the 11th September 2023.
#8179 6011d52d3 Thanks @matthewp! - Astro 3.0 Release Candidate
#7924 519a1c4e8 Thanks @matthewp! - Support for React Refresh
The React integration now fully supports React Refresh and is backed by @vitejs/plugin-react.
Also included in this change are new include and exclude config options. Use these if you want to use React alongside another JSX framework; include specifies files to be compiled for React and exclude does the opposite.
1f58a7a1b Thanks @natemoo-re! - Automatically unmount islands when astro:unmount is fired#8082 16a3fdf93 Thanks @matthewp! - Optionally parse React slots as React children.
This adds a new configuration option for the React integration experimentalReactChildren:
export default { integrations: [ react({ experimentalReactChildren: true, }), ],};With this enabled, children passed to React from Astro components via the default slot are parsed as React components.
This enables better compatibility with certain React components which manipulate their children.
8c0a4ed10 Thanks @natemoo-re! - Fix missing export for new experimentalReactChildren option