Installation
To use Chakra UI in your project, run one of the following commands in your terminal:
npm i @chakra-ui/react @emotion/react @emotion/styled framer-motion
yarn add @chakra-ui/react @emotion/react @emotion/styled framer-motion
pnpm add @chakra-ui/react @emotion/react @emotion/styled framer-motion
After installing Chakra UI, you need to set up the ChakraProvider
at the root
of your application. This can be either in your index.jsx
, index.tsx
or
App.jsx
depending on the framework you use.
import * as React from 'react'// 1. import `ChakraProvider` componentimport { ChakraProvider } from '@chakra-ui/react'function App() {// 2. Wrap ChakraProvider at the root of your appreturn (<ChakraProvider><TheRestOfYourApplication /></ChakraProvider>)}
Version 2 of Chakra UI is only compatible with React 18. If you are still needing to use React 17 or earlier, please use version 1 of Chakra UI.
ChakraBaseProvider#
As of v2.4.2
there is now the addition of ChakraBaseProvider
. This is a
minimal version of ChakraProvider
that only supplies theme tokens and not the
default component theming.
One of the biggest causes of the large initial JS payload is the size of the
component themes. With the following approach, you get to apply the default
themes for just the components you need by using extendBaseTheme
.
import {ChakraBaseProvider,extendBaseTheme,theme as chakraTheme,} from '@chakra-ui/react'const { Button } = chakraTheme.componentsconst theme = extendBaseTheme({components: {Button,},})function App() {return (<ChakraBaseProvider theme={_theme}><Component {...pageProps} /></ChakraBaseProvider>)}
🚨 You must use
extendBaseTheme
for this to work
Framework Guide#
Chakra UI works in your favorite framework. We've put together step-by-step guides for these frameworks:
Learn#
Watch our official courses and dive into dozens of videos that will teach you everything you need to know about Chakra UI, from basics to advanced concepts.
Contribute#
Whether you're a beginner or advanced Chakra UI user, joining our community is the best way to connect with like-minded people who build great products with the library.