Using Saas in Remix
A guide for installing Saas UI with Remix projects
Use the remix template below to get started quickly.
npm i @saas-ui/react@next @chakra-ui/react @emotion/react
Using snippets from the Remix sandbox, you can add the emotion cache to your application.
Wrap your application with the Provider
component at the root of your
application.
This provider composes the following:
SaasProvider
from@chakra-ui/react
for the styling systemThemeProvider
fromnext-themes
for color mode
app/root.tsx
import React from "react"
import ReactDOM from "react-dom/client"
import App from "./App"
import { SuiProvider, defaultSystem } from "@saas-ui/react"
export default function App() {
return (
<SuiProvider value={defaultSystem}>
<Outlet />
</SuiProvider>
)
}
If you're using TypeScript, you need to update the compilerOptions
in the
tsconfig file to include the following options:
tsconfig.json
{
"compilerOptions": {
"module": "ESNext",
"moduleResolution": "Bundler",
"skipLibCheck": true
}
}
When the power of the snippets and the primitive components from Saas UI, you can build your UI faster.
import { HStack } from '@chakra-ui/react'
import { Button } from '@saas-ui/react'
const Demo = () => {
return (
<HStack>
<Button>Click me</Button>
<Button>Click me</Button>
</HStack>
)
}
You may encounter the following issues when using Saas UI with Remix:
Error: There was an error while hydrating. Because the error happened outside of a Suspense boundary, the entire root will switch to client rendering.
This is a known issue related to extension installed in your browser. We recommend testing your application in incognito mode to see if the issue persists.
We welcome contributions to fix this issue.