2017-03-17 78 views
-1

请帮忙。我是全新的,所以我知道这是非常基本的,但我无法弄清楚我的设置有什么问题。无论我做什么,我都会收到语法错误。我把代码放在codepen中,它工作。我需要让我的本地工作。React.js基本设置

我有一个DIST文件夹用的index.html和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') 
); 

错误

意外的标记<

我也尝试这个代码

的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') 
) 

误差ReactDom没有定义

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

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

错误标题未定义

+0

好吧,在你最后的例子中,至少你有'ReactDOM.render(tile ...)' - 注意'tile'而不是'title'。对于“ReactDom”未定义,它可能是'ReactDOM' - 请注意大写的'DOM' –

+2

您是否考虑过使用Create React App?这是一个非常好的方式,可以轻松入门:https://github.com/facebookincubator/create-react-app – dbburgess

回答

2

好的。三个不同的错误。

首先,JSX不是(技术上)JavaScript - 你需要一个类似Babel的翻译器。 <h1>...</h1>是JSX。

其次,它可能是ReactDOM,而不是ReactDom - 大小写问题。你是怎么进口ReactDOM的? import ReactDOM from 'react-dom'?如果是这样,请利用。

三,最后,tile在您的render通话需要为title

慢慢来,检查你的代码,并呼吸。