# Using old React versions
URL: /docs/migrations/react-compatibility
Compatibility notes for React 18 and 19.
assistant-ui requires React 18 or React 19. React 17 and React 16 are not
supported. If you need help with an upgrade, join our
[Discord](https://discord.gg/S9dwgCNEFs).
This guide provides instructions for configuring assistant-ui to work with React 18.
## React 18 \[#react-18]
If you're using React 18, you need to update the shadcn/ui components to work with `forwardRef`. Specifically, you need to modify the Button component.
### Updating the Button Component \[#updating-the-button-component]
Navigate to your button component file (typically `/components/ui/button.tsx`) and wrap the Button component with `forwardRef`:
```tsx
// Before
function Button({
className,
variant,
size,
asChild = false,
...props
}: React.ComponentProps<"button"> &
VariantProps & {
asChild?: boolean;
}) {
const Comp = asChild ? Slot : "button";
return (
);
}
// After
const Button = React.forwardRef<
HTMLButtonElement,
React.ComponentProps<"button"> &
VariantProps & {
asChild?: boolean;
}
>(({ className, variant, size, asChild = false, ...props }, ref) => {
const Comp = asChild ? Slot : "button";
return (
);
});
Button.displayName = "Button";
```
## Additional Resources \[#additional-resources]
If you encounter any issues with React compatibility, please:
1. Check that all required dependencies are installed
2. Ensure your component modifications are correctly implemented
3. Join our [Discord](https://discord.gg/S9dwgCNEFs) community for direct support