我是REACT的新手,特别是从服务器中提取信息。我的后端内部没有任何API,所以......我可以生成如下的反应代码吗?
我的组件示例:
var Test= React.createClass({
render: function () {
return (
<div>
<p>
This is my test: {this.props.name}
</p>
</div>
);
}
});
我认为我能做什么&#34;渲染&#34;这个反应组件有一个PHP循环:
<script type="text/babel">
<?php foreach($tests as $test){ ?>
ReactDOM.render(
<div className="text-center">
<Test name="Test 1" />
<Test name="laralala" />
</div>
,document.getElementById("test")
);
<?php} ?>
</script>
但我认为以前的方式&#34;这是一个完全不好的做法......有人可以帮我一点吗?我的目的不是要改变后端的任何东西......
非常感谢。
答案 0 :(得分:1)
从PHP访问数据
一种可能的解决方案是将您的数据(由PHP生成)作为全局/静态JS变量放入生成的HTML页面,如var data = <?php echo json_encode($data); ?>;
。
只要您最初只需要数据,这将正常工作。您将遇到的问题是,每次更新$data
时都必须重新加载页面(例如,通过表单)。这种情况再次出现在所有这些“单页应用程序”逻辑中。但我想如果你没有API,你就会坚持使用这个解决方案。
<强> @SPA 强>
React目前风靡一时。但是如果你不需要它的所有功能(使用带有路由,客户端状态的SPA,......)我会建议使用简单而强大的东西,比如jQuery
。使用它很好,即使在2016年。您还可以查看Polymer或Web组件。
如果您还不知道React并且只需要它来呈现一些HTML,我认为您不应该学习它。还有其他很好的替代方法来呈现动态HTML(这不是PHP最初的模式吗?!)。