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

Laravel+React项目根路径下组件无法显示问题求助

排查Laravel+React路由根路径组件不渲染问题

以下是几个关键排查点和修复方案:

1. React Router版本不兼容(最可能原因)

你当前的代码写法是React Router v5及之前的语法,但如果安装的是v6版本,这种写法会失效——v6要求Route必须嵌套在Routes组件内,且不再支持component属性,改用element传入组件实例,同时exact属性已被移除(v6默认精确匹配路径)。

修改后的app.js代码:

import './bootstrap';
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import Index from './components/Index';

if (document.getElementById('app')) {
    const app = ReactDOM.createRoot(document.getElementById("app"));

    app.render(
        <React.StrictMode>
            <Router>
                <Routes>
                    <Route path="/" element={<Index />} />
                </Routes>
            </Router>
        </React.StrictMode>
    )
}

如果确实需要使用v5语法,需要回退版本:

npm uninstall react-router-dom
npm install react-router-dom@5

2. Blade模板中JS文件路径错误

Welcome.blade.php里的脚本路径用了相对路径./js/app.js,在Laravel中应该使用asset()助手生成正确的资源URL,否则可能因路由层级导致找不到文件:

<script src="{{ asset('js/app.js') }}"></script>

3. Index组件导出方式不匹配

检查Index.jsx(或Index.js)的导出是否为默认导出:

// 正确的默认导出
export default function Index() {
    return <div>Index组件内容</div>;
}

如果是命名导出,需要修改导入语句:

import { Index } from './components/Index';

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 21:20:29