refine logo

Home Page | Discord | Examples | Blog | Documentation

[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine) [![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev) refine - 100% open source React framework to build web apps 3x faster | Product Hunt

Refine is an open-source, headless React framework for developers building enterprise internal tools, admin panels, dashboards, B2B applications.
It eliminates repetitive tasks in CRUD operations and provides industry-standard solutions for critical project components like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.
## Ant Design integration for Refine [Ant Design](https://ant.design/) is a React.js UI library that contains easy-to-use components that are useful for building interactive user interfaces. [Refine](https://refine.dev/) is **headless by design**, offering unlimited styling and customization options. Moreover, Refine ships with ready-made integrations for [Ant Design](https://ant.design/), [Material UI](https://mui.com/material-ui/getting-started/overview/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/) for convenience. Refine has connectors for 15+ backend services, including REST API, [GraphQL](https://graphql.org/), and popular services like [Airtable](https://www.airtable.com/), [Strapi](https://strapi.io/), [Supabase](https://supabase.com/), [Firebase](https://firebase.google.com/), and [NestJS](https://nestjs.com/). ## Installation To use Refine with Ant Design, you need to install the following package `@refinedev/antd` along with the Ant Design packages: ```sh npm install @refinedev/antd antd ``` ## ⚡ Try Refine Start a new project with Refine in seconds using the following command: ```sh npm create refine-app@latest my-refine-app ``` Or you can create a new project on your browser: ## Quick Start Here's Refine in action, the below code is an example of a simple CRUD application using Refine + React Router + Ant Design: ```tsx import { Refine } from "@refinedev/core"; import { ThemedLayoutV2 } from "@refinedev/antd"; import dataProvider from "@refinedev/simple-rest"; import routerBindings from "@refinedev/react-router-v6"; import { BrowserRouter, Outlet, Route, Routes } from "react-router-dom"; import "antd/dist/reset.css"; export default function App() { return ( } > } /> ); } // src/pages/products/list.tsx import { useMany } from "@refinedev/core"; import { List, useTable, DateField } from "@refinedev/antd"; import { Table } from "antd"; const ProductList = () => { const { tableProps } = useTable(); const { data: categories, isLoading } = useMany({ resource: "categories", ids: tableProps?.dataSource ?.map((item) => item?.category?.id) .filter(Boolean) ?? [], queryOptions: { enabled: !!tableProps?.dataSource, }, }); return ( isLoading ? "Loading..." : categories?.data?.find((item) => item.id === value?.id)?.title } /> } />
); }; ``` The result will look like this: [![Refine + Ant Design Example](https://refine.ams3.cdn.digitaloceanspaces.com/assets/refine-antd-simple-example-screenshot.webp)](https://refine.new/preview/260c1e42-56a2-4ddf-a173-a561487cec28) ## Documentation - For more detailed information and usage, refer to the [Refine Ant Design documentation](https://refine.dev/docs/ui-integrations/ant-design/introduction). - [Refer to complete Refine tutorial with Ant Design](https://refine.dev/tutorial) - [Refer to documentation for more info about Refine](https://refine.dev/docs).