<story><title>React Aria Components</title><url>https://react-spectrum.adobe.com/react-aria/react-aria-components.html</url></story><parent_chain></parent_chain><comment><author>awhitty</author><text>Oho! So excited about this. I’ve used a hybrid of Radix UI and React Aria on previous projects. Radix had a much nicer DX out of the box with pre-wired components, but my team was always apprehensive about the long-term support for Radix post-acquisition. Really excited to see React Aria adopting a similar component-based interface.&lt;p&gt;Couple questions&amp;#x2F;feedbacks if you’re still in the comments, Devon!&lt;p&gt;1. Radix implements an asChild prop to help merge the library components down into other components that might already have their own styling or behaviors. Did y’all consider supporting this sort of polymorphic approach? Or is there another way to merge components? The main spots where I’ve used it are buttons and dropdown triggers, so it might not be broadly applicable.&lt;p&gt;2. Is it easier to extend from the React Aria types with this interface now? My previous implementations with React Aria - I’ve always been a little confused about which inputs to the hooks are useful to include in the component’s props interface and how to correctly annotate them, whether that’s recreating the types or extending from the numerous options within the react-aria package. Radix at least has some suggestions for conventions, and I feel a bit more confident following them.&lt;p&gt;3. More on the feedback side - React Aria has typically implemented similar-but-different props for the common HTML form control attributes like “disabled” and “onChange” as “isDisabled” and “onValueChange” - I really appreciate these at one level for the internal consistency throughout the library, but I’ve found these choices make it a bit more annoying to integrate React Aria with other third-party libraries meant to “just work” with the regular attributes. E.g. spreading Formik form props for a field into a form control, but having to re-map the onChange prop to onValueChange. Definitely trade offs in either direction, but I’m curious how y’all made the choice and if there are some remediations y’all have found along the way?&lt;p&gt;Thanks so much for your (and the team’s) work on this! And on Parcel and the million other projects you’re building.</text></comment>
<story><title>React Aria Components</title><url>https://react-spectrum.adobe.com/react-aria/react-aria-components.html</url></story><parent_chain></parent_chain><comment><author>jakelazaroff</author><text>Libraries like this are what keep me using React. They’re (imo) table stakes for building any serious project. I really want to use Svelte and Solid more, but the choices for building complex widgets like dropdowns are either “forget about accessibility” or “sink a bunch of time into implementing it yourself”. And let’s face it — most self-implemented widgets are accessibility nightmares.&lt;p&gt;What I really wish is that there were something like this built on web components, so I could use it with &lt;i&gt;any&lt;/i&gt; framework.</text></comment>