2016-12-28 24 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與更好的語法)。讓它留在全球範圍內,不可能在任何時候造成麻煩。