2016-12-28 22 views
0

是否可以将index.js声明为一个类?我使用 https://github.com/facebookincubator/create-react-appReact.js index.js作为一个类?

这index.js是:

import React, { Component } from 'react'; 
import ReactDOM from 'react-dom'; 
import App from './App'; 
import './index.css'; 


/* 
ReactDOM.render(
    <App />, 
    document.getElementById('root') 
); 
*/ 

class Apps extends Component { 
    ReactDOM.render(
     <div className="App"> 
     <p> hello </p> 
     </div> 
); 
} 

注释掉的代码是什么前后级应用就是我想要达到的目标。

问候,

+1

注释掉的版本是要走的路。但是,如果您愿意,您可以将“App”组件编写在同一个文件中,但需要“ReactDOM.render”。你为什么想改变它? – Tholle

+0

不可以。您的顶级渲染代码没有真正的理由在课堂上。 –

回答

1

线条

ReactDOM.render(
    <App />, 
    document.getElementById('root') 
); 

是你的应用程序做出反应的切入点。它说“采取组件的所有层次结构,渲染它们并安装到某个节点”。只要代码执行到达这一点,它就会被调用。这就是为什么你看到该应用程序在你的浏览器中工作。

把这条指令放到一个类声明中意味着:“这里是一个类,它将采用所有组件的层次结构......”。问题是,它永远不会被执行,就像函数声明不会使该函数执行一样。

没有必要把ReactDOM.render调用到任何函数或类(which is, again, a function declaration与更好的语法)。让它留在全球范围内,不可能在任何时候造成麻烦。