2017-03-17 2 views
-1

Bitte helfen. Ich bin brandneu, also weiß ich, dass das sehr einfach ist, aber ich kann nicht herausfinden, was mit meiner Einrichtung falsch ist. Egal, was ich mache, ich bekomme immer Syntaxfehler. Ich lege den Code in CodePen und es hat funktioniert. Ich muss jedoch meine lokale Arbeit bekommen.React.js Grundeinstellung

Ich habe einen dist-Ordner mit einem index.html und einem index.js

index.html

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title>React</title> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react-dom.js"></script> 
</head> 
<body> 
    <div id="root"> 
    <!-- This div's content will be managed by React. --> 
</div> 
    <script src="index.js"></script> 
</body> 
</html> 

index.js

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

Fehler

unerwartetes Token <

Ich habe auch versucht, diesen Code

index.html

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title>React</title> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react-dom.js"></script> 
</head> 
<body> 
    <div id="react-container"></div> 
    <script src="index.js"></script> 
</body> 
</html> 

index.js

const { createElement } = React 
const{ render } = ReactDom 

const title = createElement(
'h1', 
{id: 'title', className: 'header'}, 
'Hello World' 
) 

render(
title, 
document.getElementById('react-container') 
) 

Fehler ReactDom nicht

definiert ist oder

const title = React.createElement(
    'h1', 
    {id: 'title', className: 'header'}, 
    'Hello World' 
) 

ReactDOM.render(
    tile, 
    document.getElementById('react-container') 
) 

mit einem Fehler Titel ist nicht definiert

+0

Nun, zumindest in Ihrem letzten Beispiel haben Sie 'ReactDOM.render (tile ...)' - notieren Sie 'tile' statt' title'. Für "ReactDom" ist nicht definiert, es ist wahrscheinlich "ReactDOM" - beachten Sie die Großbuchstaben "DOM" –

+2

Haben Sie in Betracht gezogen, Create React App? Es ist ein wirklich toller Einstieg: https://github.com/facebookincubator/create-react-app – dbburgess

Antwort

2

Ok. Drei verschiedene Fehler.

Erstens ist JSX nicht (technisch) JavaScript - Sie brauchen einen Transpiler wie Babel. <h1>...</h1> ist JSX.

Zweitens ist es wahrscheinlich ReactDOM, nicht ReactDom - Großschreibung wichtig. Wie hast du ReactDOM importiert? import ReactDOM from 'react-dom'? wenn ja, kapitalisieren.

Drittens und schließlich tile in Ihrem render Anruf muss title sein.

Nehmen Sie sich Zeit, überprüfen Sie Ihren Code und atmen Sie.