当我尝试使用React从另一个文件导入类时,为什么会出现空白屏幕

时间:2017-07-27 19:21:17

标签: javascript reactjs atom-editor

所以我是React框架的新手,我遇到了一个我无法调试的问题。

我正在尝试将项目中另一个文件中的另一个组件导入到我的app.js.此课程目前无效,但在页面上显示“我的项目”文字。

当我使用<Projects/>在app.js中实例化它时,我的应用程序会从显示app.js(我的应用程序)中的文本变为空白屏幕。

我希望它能在下一行呈现文本“我的应用程序”然后“我的项目”。我错过了什么?

这是app.js:

import React, { Component } from 'react';
import Projects from './Components/Projects';
import './App.css';

class App extends Component {
 render() {
  return (
  <div className="App">
    My App
    <Projects/>
  </div>
    );
  }
} 

export default App;

这是Projects.js:

import React, { Component } from 'react';

class Projects extends Component {
  render() {
    return (
      <div className="Projects">
        My Projects
      </div>
    );
  }
}

export default Projects;

以下是来自开发控制台的错误:

invariant.js:44 Uncaught Error: Invalid tag: data:application/octet-stream;base64,aW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IG…MKICAgICAgPC9kaXY+IAogICAgKTsKICB9Cn0KZXhwb3J0IGRlZmF1bHQgUHJvamVjdHM7Cg==
at invariant (invariant.js:44)
at validateDangerousTag (ReactDOMComponent.js:345)
at new ReactDOMComponent (ReactDOMComponent.js:372)
at Object.createInternalComponent (ReactHostComponent.js:41)
at instantiateReactComponent (instantiateReactComponent.js:79)
at instantiateChild (ReactChildReconciler.js:44)
at ReactChildReconciler.js:71
at traverseAllChildrenImpl (traverseAllChildren.js:77)
at traverseAllChildrenImpl (traverseAllChildren.js:93)
at traverseAllChildren (traverseAllChildren.js:172)

这是产品结构的图像:

http://imgur.com/a/BKTK3

1 个答案:

答案 0 :(得分:1)

因为您在没有Projects扩展名的文件中保存了.js组件的代码,所以它被加载为文本文件。由于文本以小写字母data:application...开头,因此它被视为具有无效名称的自定义元素,因此Invalid tag错误。