2016-04-12 6 views
7

I-Code haben, der nur funktioniert nach Reagieren importieren, aber ich bin nicht überall reagiere ich reactDom stattwarum importieren React

import ReactDOM from 'react-dom' 
import React, {Component} from 'react' 

class App extends Component { 
    render() { 
    return (
     <div>comp </div> 
    ) 
    } 
} 

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

warum seine erfordern Reagieren zu importieren bin mit ??

+0

den Leser nicht offensichtlich ist, Wenn eine der Antworten, die Ihnen geholfen, bitte auf dieser Antwort akzeptieren klicken. – heyhugo

Antwort

13

Obwohl Sie die Sie importiert haben Reagieren Instanz nicht explizit verwenden, wird JSX zu React.createElement() Anruf transpiled, die es verwendet. In Ihrem Beispiel wird <div>comp </div> von Babel zu React.createElement('div', null, 'comp') transpiliert.

0

habe ich zu denken, dass, wenn ReactDOM Reagieren verwendet, dann wird es sie zu importieren kümmern. Aber das ist nicht der Fall. Nachdem JSX in Ihrem Quelltext transformiert wurde, ist es offensichtlich, dass er explizit das React-Paket verwendet. Und deshalb ist es erforderlich.

React.createElement('div', null, 'comp') 
1

Reagieren Import, weil der folgenden JSX Code erforderlich: -

(
    <div>comp </div> 
) 

wird transpiled zu

React.createElement(
    "div", 
    null, 
    "comp " 
); 

Dies ist der Grund, warum Sie importieren müssen reagieren; Ich hoffe das beantwortet deine Frage.

können Sie immer auf https://babeljs.io beziehen zu verstehen, was die zu dem, was umgerechnet bekommen.

0

Dies ist eine wirklich interessante Frage, da Sie Recht haben, dass der Code nicht aussehen wie es mit React ist, aber es ist knifflig.

Jedes Mal, wenn Sie die Kurzschrift <Component /> Code verwenden, was tatsächlich passiert ist, wird das JSX von Babel in etwas, das reguläres Javascript ist, transpiliert.

<Component/> 
// Is turned into 
React.createElement(...) 

Daher ist der Code tut tatsächlich importiert werden muss Reagieren auf, obwohl es

Verwandte Themen