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>
有什么方法可以使用 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>