【问题标题】:How can I write php scripts in react.js file?如何在 react.js 文件中编写 php 脚本?
【发布时间】:2018-12-23 14:26:08
【问题描述】:

我已经查看了所有内容,但我看到的答案对我来说并不清楚。我已经为我的项目使用 react.js 设计了一个不错的 UI/UX,但现在我想开始使用 php 将一些后端东西连接到它。

我知道您可以对 fetch 数据进行 ajax 调用,但这仍然不允许我在 react.js 文件中执行以下操作:<p><?php echo "testing; ?></p>

也许我的理解还不清楚,但我希望得到一些澄清,因为我在网上看到的内容对我来说还不够。

是否可以在 react.js 文件中编写 php 脚本?

另外,我看到了这个链接:https://github.com/reactjs/react-php-v8js,但还是不清楚。

如果这不满足关于 SO 的问题标准,我提前道歉,我真的被困住了,除了 SO 没有人可以求助于 IRL。谢谢:-)

【问题讨论】:

  • 要解压的内容太多,您需要提供有关设置的更多信息。您不会在您的反应项目中回显 PHP,您使用数据绑定和 setState 以及您从后端服务器收到的值(使用您提到的 ajax)。我想我不能比这里更好地解释它:reactjs.org/docs/faq-ajax.html
  • @AleksandrasGavinčiuk 我已经看到了那个链接,但我会再试一次,谢谢。这意味着我可以从我的 php 文件中获取 GET 请求并将这些值放入我的 reactjs 文件中,对吗?

标签: javascript php reactjs debugging


【解决方案1】:

使用 reactjs,您必须使用与用于 php 编程的方法不同的方法。 Reactjs 是前端,php 端是后端或 api。 (我的意思是你不必在 php 上渲染 js,只需你在 application/json 上的响应)

为此,您可以在 reactjs 应用上使用 * axios 或 fetch* 向后端请求。通过后端返回的响应,您将在您的反应组件上设置一个新状态。

我将添加一个基本示例:

反应应用:

import React, { Component } from 'react';

class App extends Component {
  constructor(props) {
    super(props);

    this.state = {
      data: null,
    };
  }

  componentDidMount() {
    fetch('https://api.mydomain.com')
      .then(response => response.json())
      .then(data => this.setState({ data }));
  }

  ...
}

export default App;

服务器端:

<?php
$response = [
   'items' => [
        [
            'product': 'MY PRODUCT 1',
            'code': '10001',
            'price': 39
        ],
        [
            'product': 'MY PRODUCT 2',
            'code': '10002',
            'price': 99
        ]
   ]
];

header('Content-Type: application/json');
echo json_encode($response);

我希望这可以帮助你。 :-)

【讨论】:

  • 谢谢米格尔:D。这意味着我可以从我的 php 文件中获取 GET 请求并将这些值置于一个状态并呈现在我的 reactjs 文件中,对吧?
  • 对,this.setState({ data }) 会自动重新渲染你的组件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-28
  • 1970-01-01
  • 2011-06-14
  • 1970-01-01
  • 1970-01-01
  • 2019-02-17
  • 1970-01-01
相关资源
最近更新 更多