快捷搜索:  手机  明星

轻量级web应用开发(无限制地构建用它就够了)

轻量级web应用开发(无限制地构建用它就够了)npx superplate-cli -o refine-mui tutorial数据提供者是精炼的组件,可以方便地使用不同的 API 和数据服务。要使用我们的Fake REST API,我们将使用“Simple REST Dataprovider”。首先,使用以下命令运行superplate :代码: import { Refine useMany } from "@pankod/refine-core"; import { useTable List Table DateField Layout ReadyPage notificationProvider ErrorComponent } from "@pankod/refine-antd"; import routerP

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个开源的、无头的 Web 应用程序框架,在开发时考虑了灵活性。

轻量级web应用开发(无限制地构建用它就够了)(1)

主要特征
  • 使用单个 CLI 命令进行零配置、一分钟设置
  • 用于15 多种后端服务的连接器,包括REST API、GraphQL、NestJs CRUD、Airtable、Strapi、Strapi v4、Strapi GraphQL、Supabase、Hasura、Nhost、Appwrite、Firebase、Directus和Altogic
  • Next.js或Remix支持SSR
  • 使用React Query完善状态管理和突变
  • 使用您选择的任何路由器库的高级路由
  • 身份验证和访问控制流程的提供商
  • 对实时/实时应用程序的开箱即用支持
  • 轻松的审核日志和文档版本控制
  • 面向未来的稳健架构
  • 完整的测试覆盖
快速入门指南

开始使用细化的最快方法是使用superplate项目启动工具。运行以下命令来创建一个新的以Ant Design System配置为默认 UI 框架的细化项目 :

npx superplate-cli --preset refine-antd my-project

设置完成后,导航到项目文件夹并使用以下命令启动项目:

npm run dev

您可以通过http://localhost:3000访问您的优化应用程序:

轻量级web应用开发(无限制地构建用它就够了)(2)

代码:

import { Refine useMany } from "@pankod/refine-core"; import { useTable List Table DateField Layout ReadyPage notificationProvider ErrorComponent } from "@pankod/refine-antd"; import routerProvider from "@pankod/refine-react-router-v6"; import dataProvider from "@pankod/refine-simple-rest"; import "@pankod/refine-antd/dist/styles.min.css"; const App: React.FC = () => { return ( <Refine routerProvider={routerProvider} dataProvider={dataProvider("https://api.fake-rest.refine.dev")} resources={[{ name: "posts" list: PostList }]} Layout={Layout} ReadyPage={ReadyPage} notificationProvider={notificationProvider} catchAll={<ErrorComponent />} /> ); }; export const PostList: React.FC = () => { const { tableProps } = useTable<IPost>(); const categoryIds = tableProps?.dataSource?.map((item) => item.category.id) ?? []; const { data isLoading } = useMany<ICategory>({ resource: "categories" ids: categoryIds queryOptions: { enabled: categoryIds.length > 0 } }); return ( <List> <Table<IPost> {...tableProps} rowKey="id"> <Table.Column dataIndex="title" title="title" /> <Table.Column dataIndex={["category" "id"]} title="category" render={(value: number) => { if (isLoading) { return "loading..."; } return data?.data.find( (item: ICategory) => item.id === value )?.title; }} /> <Table.Column dataIndex="createdAt" title="createdAt" render={(value) => <DateField format="LLL" value={value} />} /> </Table> </List> ); }; export default App; interface IPost { title: string; createdAt: string; category: { id: number }; } interface ICategory { id: number; title: string; }

现在,您应该看到输出为一个填充了post&category数据的表:

轻量级web应用开发(无限制地构建用它就够了)(3)

基础示例

第一个使用 Material UI 的应用

首先,使用以下命令运行superplate :

npx superplate-cli -o refine-mui tutorial

数据提供者是精炼的组件,可以方便地使用不同的 API 和数据服务。要使用我们的Fake REST API,我们将使用“Simple REST Dataprovider”。

接下来,导航到项目文件夹并运行以下命令来安装所需的包:

npm i @pankod/refine-simple-rest

将内容替换为App.tsx以下代码:

import { Refine } from "@pankod/refine-core"; import { Layout ErrorComponent ReadyPage LightTheme CssBaseline ThemeProvider GlobalStyles RefineSnackbarProvider notificationProvider } from "@pankod/refine-mui"; import routerProvider from "@pankod/refine-react-router-v6"; import dataProvider from "@pankod/refine-simple-rest"; const App: React.FC = () => { return ( <ThemeProvider theme={LightTheme}> <CssBaseline /> <GlobalStyles styles={{ html: { WebkitFontSmoothing: "auto" } }} /> <RefineSnackbarProvider> <Refine routerProvider={routerProvider} dataProvider={dataProvider( "https://api.fake-rest.refine.dev" )} notificationProvider={notificationProvider} Layout={Layout} ReadyPage={ReadyPage} catchAll={<ErrorComponent />} /> </RefineSnackbarProvider> </ThemeProvider> ); }; export default App;

运行以下命令以在开发模式下启动应用程序:

npm run dev

-END-

开源协议:MIT license

开源地址:https://github.com/refinedev/refine

猜您喜欢: