Refine adalah meta-kerangka reaksi untuk aplikasi web yang berat. Ini membahas berbagai kasus penggunaan perusahaan termasuk alat internal, panel admin, dasbor dan aplikasi B2B.
Kait dan komponen inti Refine merampingkan proses pengembangan dengan menawarkan solusi standar industri untuk aspek-aspek penting dari suatu proyek, termasuk otentikasi , kontrol akses , perutean , jaringan , manajemen negara , dan I18N .
Arsitektur Tanpa Kepala Refine memungkinkan pembangunan aplikasi yang sangat dapat disesuaikan dengan memisahkan logika bisnis dari UI dan perutean. Ini memungkinkan integrasi dengan:
Setiap desain khusus atau kerangka kerja UI seperti tailwindcss, bersama dengan dukungan bawaan untuk desain semut, material UI, mantine, dan chakra UI.
Berbagai platform, termasuk Next.js, Remix, React Native, Electron, dll., Dengan antarmuka perutean sederhana tanpa perlu langkah pengaturan tambahan.
Mulai proyek baru dengan Refine in detik menggunakan perintah berikut:
npm create refine-app@latest my-refine-appAtau Anda dapat membuat proyek baru di browser Anda:
Berikut ini Refine In Action, kode di bawah ini adalah contoh dari aplikasi CRUD sederhana menggunakan Refine + React Router + Material UI:
import React from "react" ;
import { Refine , useMany } from "@refinedev/core" ;
import { ThemedLayoutV2 } from "@refinedev/mui" ;
import dataProvider from "@refinedev/simple-rest" ;
import routerProvider from "@refinedev/react-router" ;
import { BrowserRouter , Outlet , Route , Routes } from "react-router" ;
import CssBaseline from "@mui/material/CssBaseline" ;
export default function App ( ) {
return (
< BrowserRouter >
< CssBaseline />
< Refine
dataProvider = { dataProvider ( "https://api.fake-rest.refine.dev" ) }
routerProvider = { routerProvider }
resources = { [
{
name : "products" ,
list : "/products" ,
} ,
] }
>
< Routes >
< Route
element = {
< ThemedLayoutV2 >
< Outlet />
</ ThemedLayoutV2 >
}
>
< Route path = "/products" >
< Route index element = { < ProductList /> } />
</ Route >
</ Route >
</ Routes >
</ Refine >
</ BrowserRouter >
) ;
}
// src/pages/products/list.tsx
import { List , useDataGrid , DateField } from "@refinedev/mui" ;
import { DataGrid , GridColDef } from "@mui/x-data-grid" ;
export const ProductList = ( ) => {
const { dataGridProps } = useDataGrid ( ) ;
const { data : categories , isLoading } = useMany ( {
resource : "categories" ,
ids :
dataGridProps ?. rows ?. map ( ( item ) => item ?. category ?. id ) . filter ( Boolean ) ??
[ ] ,
queryOptions : {
enabled : ! ! dataGridProps ?. rows ,
} ,
} ) ;
const columns = React . useMemo < GridColDef [ ] > (
( ) => [
{ field : "id" , headerName : "ID" , type : "number" } ,
{ field : "name" , flex : 1 , headerName : "Name" } ,
{
field : "category" ,
flex : 1 ,
headerName : "Category" ,
display : "flex" ,
renderCell : ( { value } ) =>
isLoading
? "Loading..."
: categories ?. data ?. find ( ( item ) => item . id === value ?. id ) ?. title ,
} ,
{
field : "createdAt" ,
flex : 1 ,
headerName : "Created at" ,
display : "flex" ,
renderCell : ( { value } ) => < DateField value = { value } /> ,
} ,
] ,
[ categories ?. data , isLoading ] ,
) ;
return (
< List >
< DataGrid { ... dataGridProps } columns = { columns } />
</ List >
) ;
} ;Hasilnya akan terlihat seperti ini:
Perbaiki bersinar pada aplikasi intensif data B2B perusahaan seperti panel admin , dasbor , dan alat internal . Berkat dukungan SSR bawaan, itu juga dapat memberi daya pada aplikasi yang menghadap pelanggan seperti etalase .
Anda dapat melihat beberapa contoh langsung yang dapat dibangun menggunakan Refine From Scratch:
Lihat dokumen kontribusi untuk informasi lebih lanjut.
Jika Anda memiliki keraguan terkait dengan proyek atau ingin mendiskusikan sesuatu, maka bergabunglah dengan server Discord kami.
Kami menyampaikan rasa terima kasih kami kepada semua kontributor kami yang membuat plugin, membantu dengan masalah dan menarik permintaan, dan menanggapi pertanyaan tentang diskusi perselisihan dan github.
Refine adalah proyek yang digerakkan oleh komunitas, dan kontribusi Anda terus meningkatkannya.
Lisensi Di Bawah Lisensi MIT, Hak Cipta © 2021-Present Relfinedev