javascript - 将 php 数据库值绑定(bind)到react.js

标签 javascript php mysql laravel reactjs

我会尽力让这个问题尽可能简短。

我正在尝试做一些react.js服务器端渲染,但我很难重构我从在线研究中获得的信息并将其应用到我的项目中。

我正在使用 mysql 数据库中的用户名对应用程序中的所有路由使用路由模型绑定(bind)。我在react.js中有一些路由

看下面的代码片段:

var FileUpload = React.createClass({

  handleFile: function(e) {
    var reader = new FileReader();
    var file = e.target.files[0];

    if (!file) return;

    reader.onload = function(img) {
      React.findDOMNode(this.refs.in).value = '';
      this.props.handleFileChange(img.target.result);
    }.bind(this);
    reader.readAsDataURL(file);
  },

  render: function() {
    return (
      <input ref="in" type="file" accept="image/*" action="images/{user}/dpUpload" onChange={this.handleFile} />
    );
  }
});

如果您查看 render:function() 中的 HTML input 标记,action 有一个 images 路径/{用户}/dpUpload。每个了解 laravel 的人都可以通过 RESTful 方式将 {user} 绑定(bind)为 admin。我需要绑定(bind)数据库给我的任何值来使用react。这就是我目前得到的

View the images/{user}/dpUpload

最佳答案

您希望在 React 中使用 user 变量,而无需对其执行 ajax 请求吗?

您可以将其嵌入到 DOM 中。也许在 data-user 属性中。

// On your page
<div id="user" data-user="admin"></div>

// In React
render: function() {
    var user = document.getElementById("user").getAttribute("data-user");
    return (
      <input 
        ref="in" 
        type="file" 
        accept="image/*" 
        action="images/{user}/dpUpload" 
        onChange={this.handleFile} />
    );
}

您还可以将用户变量放在页面上的脚本标记中,并在 React 中使用 window.myUserVariable 访问它。

关于javascript - 将 php 数据库值绑定(bind)到react.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33046466/

相关文章:

php - 将 Url 传递到另一个页面的最佳方式

php - 下载图片自动添加水印

PHP Time Since 函数错误

php - 在数据库中保存javascript代码

php - 任何易于使用的 php mysql datagrid?

javascript - Material-ui <SelectField> 项目未在 ReactJS 中显示

javascript - 这个 javascript 在 Magento 中定义在哪里?

mysql - 如何正确定义尚未到达完成日期

javascript - Lightbox 2 在弹出窗口的位置上的逻辑是什么?

javascript - 我可以让某人使用我网站上的代码在不同的浏览器中打开网站吗