You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将React-admin与Laravel配合使用?附替代方案咨询

React-admin与Laravel的搭配方案及替代推荐

一、React-admin完全可以与Laravel搭配使用

React-admin官方文档里没列Laravel,是因为它的核心特性就是支持自定义数据提供者,不需要依赖官方预定义的后端适配。很多开发者已经成功实现了二者的结合,核心思路是基于Laravel的API实现React-admin的dataProvider抽象层。

具体实现方法

  1. 自定义数据提供者
    参考React-admin的simple-rest数据提供者结构,针对Laravel的REST API格式做适配(比如Laravel通常返回data包裹的响应体、分页数据在meta字段)。示例代码如下:
import { fetchUtils } from 'react-admin';

const apiUrl = 'http://your-laravel-api-domain/api';
const httpClient = fetchUtils.fetchJson;

const laravelDataProvider = {
    getList: (resource, params) => {
        const { page, perPage } = params.pagination;
        const { field, order } = params.sort;
        const query = new URLSearchParams({
            page,
            per_page: perPage,
            sort: field,
            order: order.toLowerCase(),
            ...params.filter,
        });
        return httpClient(`${apiUrl}/${resource}?${query}`).then(({ json }) => ({
            data: json.data,
            total: json.meta.total,
        }));
    },
    // 按需实现getOne、create、update、delete等核心方法
    getOne: (resource, params) => {
        return httpClient(`${apiUrl}/${resource}/${params.id}`).then(({ json }) => ({
            data: json.data,
        }));
    }
};

export default laravelDataProvider;
  1. 适配Laravel认证机制
    如果Laravel用Sanctum或Passport做认证,只需在httpClient里添加认证头即可:
const httpClient = (url, options = {}) => {
    if (!options.headers) {
        options.headers = new Headers({ Accept: 'application/json' });
    }
    // 从本地存储获取Laravel返回的认证令牌
    const token = localStorage.getItem('laravel_auth_token');
    options.headers.set('Authorization', `Bearer ${token}`);
    return fetchUtils.fetchJson(url, options);
};

二、替代的Laravel+React仪表盘方案

如果不想自定义数据提供者,推荐以下现成方案:

  • Laravel Breeze + React:Laravel官方的脚手架,支持React前端栈,可快速搭建基础后台,配合MUI、Chakra UI等React组件库自定义仪表盘,灵活度高。
  • Inertia.js + React + Laravel:无需单独编写API,直接通过Inertia实现React与Laravel后端的无缝交互,适合前后端紧密耦合的后台开发场景。
  • CoreUI React Admin Template:现成的React仪表盘模板,支持与Laravel REST API对接,内置大量后台常用组件与布局,可快速复用开发。

内容的提问来源于stack exchange,提问作者Lana Hanna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 20:50:30