【问题标题】:How would I properly use React.js CDN in PHP file?如何在 PHP 文件中正确使用 React.js CDN?
【发布时间】:2019-01-03 09:15:24
【问题描述】:

如何在 PHP 文件中正确使用 React.js CDN?使用下面的代码,我可以在浏览器上成功显示hey。

这是我的代码:

<?php
<!DOCTYPE html>
<html lang="en">
<head>

    <script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
    <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
    <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
    <script type="text/jsx">
        class Temp extends React.Component {
            render() {
                return(
                    <div>
                        <h1>hey</h1>
                    </div>
                );
            }
        }

        ReactDOM.render(<Temp />, document.getElementById("app"));
    </script>

</head>
<body>
    <div id="app"></div>
</body>
</html>

但这一次,我希望通过另一个 js 文件显示它:Temp.js。我在下面的尝试没有在浏览器上显示任何内容。我觉得我犯了一个小错误,但无法发现它。

我完全了解create-react-app 的工作原理,我只是想尝试一下 CDN 并看看它是如何工作的。

我做错了什么,我该如何解决?

这里是Temp.js:

var Temp = React.createClass({

constructor(props) {
    super(props);
    this.state = {
        term: 'test'
    };
};

render() {
    return(
        <div>
            <h1>{this.state.term}</h1>
        </div>
    );
}
});

ReactDOM.render(<Temp />, document.getElementById('app'));

【问题讨论】:

  • 如何包含您的 Temp.js 文件?
  • @khartnett 如果我在&lt;script type="text/jsx" src="./Temp.js"&gt;&lt;/script&gt; 中包含src="./Temp.js",则浏览器中不会显示任何内容。我不得不摆脱src="./Temp.js"
  • @khartnett 换句话说,我必须正确使用src="./Temp.js"
  • &lt;script type="text/jsx" src="Temp.js"&gt;&lt;/script&gt; 适合我。此外,这是现在形成或形成一个 PHP 问题。
  • @ChrisG 不确定为什么它对我不起作用。我是否错过了一些我没有看到的微不足道的东西?

标签: javascript php html reactjs cdn


【解决方案1】:

不熟悉通过 cdn 导入 react,但我能够通过将您拥有的 CDN 替换为

来使其工作
<script src="https://unpkg.com/react@15/dist/react.min.js"></script>
<script src="https://unpkg.com/react-dom@15/dist/react-dom.min.js">  </script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.24.0/babel.js"></script>

来源:React CDN based page not working with Babel 6.1.19

可能与使用 react 的开发版本有关?

【讨论】:

  • 呃,仍然不适合我。根据我的原始帖子,我不确定我是否遗漏了任何琐碎的事情
  • 什么浏览器?此时可能是缓存问题。如果您在 chrome 中尝试 ctrl + f5 清除页面缓存,然后使用 ctrl + shift + i 并查看是否有任何控制台错误
  • 我想通了!我的文件路径写错了。不过我还有一个问题,为什么我的 js 文件中不能使用this.state.term?我已经在我的原始帖子中更新了它,供您查看。如果我像以前一样做简单的事情是&lt;h1&gt;hey&lt;/h1&gt;,那么它显示得很好。但是为什么我不能显示状态呢?
  • 您正在使用 react.createClass (es5) 语法,但尝试通过 es6 设置状态。看看这个stackoverflow.com/questions/33526493/…
猜你喜欢
  • 1970-01-01
  • 2015-11-17
  • 1970-01-01
  • 2014-06-05
  • 2015-10-13
  • 1970-01-01
  • 2014-07-24
  • 2013-12-10
  • 2016-10-07
相关资源
最近更新 更多