当前位置: 首页 > 面试题库 >

反应-单独脚本中的组件不起作用

潘弘扬
2023-03-14
问题内容

我正在尝试学习react.js,但被困在“ Hello World”脚本中。

我的index.html:

<!DOCTYPE html>
<html>
  <head>
    <script src="https://fb.me/react-0.13.3.js"></script>
    <script src="https://fb.me/JSXTransformer-0.13.3.js"></script>
  </head>
  <body>
    <div id="example"></div>
    <script type="text/jsx" src="src/helloworld.js"></script>
  </body>
</html>

和src / helloworld.js:

React.render(
  <h1>Hello, world!</h1>,
  document.getElementById('example')
);

当我把这个代码里面<script>index.html文件,它工作正常,但是当我将其移动到单独的文件中我得到的空白页,并控制台错误:

XMLHttpRequest cannot load file:///home/marcin/Projects/react/src/helloworld.js. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

怎么了


问题答案:

您收到该错误的原因是:

  1. 您已经index.html从本地文件系统(例如通过双击)加载了,而不是通过Web服务器加载了
  2. JSX转换器是text/jsx脚本的负责人,它是一个javascript组件,它试图获取标记src属性指定的文件script
  3. 只允许Javascript从错误消息中列举的协议中获取外部资源(甚至对于那些具有跨域请求之类的进一步限制的协议);从本地文件系统加载的文件具有file://不在该列表中的协议。

当您将jsx脚本包含在index.html文件中时,它可以正常工作,因为无需任何请求即可检索jsx脚本。

您需要做的是在Web服务器上握手,将hello
world文件放入该服务器的文档根目录,然后从Web服务器(例如,从URL)加载它们http://localhost/index.html



 类似资料:
  • 问题内容: 我有单独的类来处理鼠标侦听器。但是当我在另一个类中使用它时,它不起作用,并且我还不知道如何解决这个问题。这是我的Handler类: DrawingCanvas类: StatusBar类: 和MouseEventGUI类: 当我运行该程序时,在状态栏中显示“未监听鼠标”(请参见MouseEventGUI类),希望它在画布中移动时显示鼠标光标的坐标。 [更新] 如果在同一个类中,则 可以

  • 我尝试使用另一个类中的OnClickListener,但不知为什么它会给我抛出一个错误。有人能帮我解决这个问题吗? 主要活动的一部分: 错误: java.lang.RuntimeException:无法启动activity ComponentInfo{com.example.user.project/com.example.user.project.MainActivity}:java.lang.

  • 问题内容: 我试图使用React中的dragonallySetInnerHTML属性设置从服务器发送的html以显示在div中。我里面也有script标签,并使用在html内相同定义的函数。我在这里在JSFiddle中给出了错误示例。 这是测试代码: 我检查了该脚本标记并将其添加到DOM,但是无法调用该脚本标记中定义的功能。如果这不是正确的方法,那么还有其他方法可以注入脚本标签的内容。 问题答案:

  • 问题内容: 我是PHP新手。我安装了XAMPP并运行了Apache。我在XAMPP的htdocs中创建了helloworld.php,并在浏览器中显示了PHP。我的问题是,为什么我的HTML文件中的PHP脚本不显示在浏览器中?香港专业教育学院从未安装过PHP。我也应该安装吗?它会与XAMPP冲突吗?我的代码如下。任何帮助将不胜感激。提前致谢: 问题答案: XAMPP已经包含PHP,但是除非您以该脚

  • 问题内容: 我是新来的人,我想做出反应并尝试使用内联样式获取背景图片。但这不起作用。 显示错误“ URL未定义” 问题答案: CSS值始终是字符串。将值用引号引起来,使其成为字符串:

  • 问题内容: 我试图将onscroll事件处理程序添加到特定的dom元素。看下面的代码: 代码非常简单,如您所见,我想处理div#list滚动。当我运行此示例时,它不起作用。所以我尝试直接在render方法上绑定this._handleScroll,它也不起作用。 因此,我打开了chrome inspector,直接使用以下命令添加了onscroll事件: 它正在工作!我不知道为什么会这样。这是Re