Laravel 路由和 blade 使用 reactjs 进行模板化

Laravel routes and blade templating with reactjs

有什么方法可以使用 blade 类型语法和 React 来处理我的 Laravel 路由吗?假设我有如下内容:

<div class="card">
    <a href="{{ route('account.show', $user->slug) }}">Go to your account</a>
</div>

如果我尝试将它变成 Reactjs 组件,显然 blade 类型语法将不起作用。

已经研究了 React Router,但不完全知道它如何适合我的应用程序,或者我是否有必要使用它(我会宁愿使用普通的 Laravel 路线)。

React 代码不是由 Laravel 执行的,而是由用户的浏览器执行的。因此,当需要生成该 href 时,在用户的浏览器中,代码无法再访问 Laravel 或 Blade 工具。

你可以做的是在你使用 blade 生成顶级 React 调用时,预先将你需要的所有信息传递给你的 React 应用程序:

<script>
    React.render(
        MyApp({
            accountShow: "{{ route('account.show', $user->slug) }}",
            //etc.
        }),
        document.getElementById('myContainer')
    )
</script>

那么在你的 React 应用程序中,你可以使用这些属性并将它们传递给内部组件,例如:

<CardLink href={this.props.accountShow}>
    Go to your account
</CardLink>