其中一种方式是将数据从 laravel 控制器传递到react组件。
React 组件与document.getElementById('example')
Laravel视图页面上的视图 id 元素进行交互。你的Laravel 控制器喜欢。
class HomeController extends Controller
{
public function index(){
$data = [
'john', 'doe'
];
return view('welcome')->with('data', json_encode($data));
}
}
确保您传递数据控制器以查看 json。你的刀片视图
..
<link rel="stylesheet" href="css/app.css">
</head>
<body>
<div id="example" data='{{ $data }}'></div>
<script src="js/app.js"></script>
</body>
你的示例组件在 reources/assets/js/components/Example.js 中
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
export default class Example extends Component {
constructor(props){
super(props);
console.log('data from component', JSON.parse(this.props.data));
}
render() {
return (
<div className="container">
.....
</div>
);
}
}
if (document.getElementById('example')) {
var data = document.getElementById('example').getAttribute('data');
ReactDOM.render(<Example data={data} />, document.getElementById('example'));
}
请确保,当您更改 Example.js 组件代码时,您必须npm run dev
在命令提示符下运行命令。