Я чрезвычайно новичок в React, так как это мой первый урок. Ниже приведен мой код:

Index.html :

<!DOCTYPE html>
<html lang="en">
<head>
     <script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
    <meta charset="UTF-8">
    <title>Hello World with React</title>
</head>
<body>
    <div id= "react-container"></div>
    <script src="index.js"></script>
</body>
</html>

Index.js :

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

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

Однако в браузере ничего не отображается. И скрипт, и HTML-страница находятся в одной папке. Должна быть очень простая ошибка, поэтому, пожалуйста, кто-нибудь поможет мне в этом? Спасибо за ваше время!

-1
Sarun Dahal 5 Мар 2018 в 07:27

4 ответа

Лучший ответ

Вы просто пропустили запятую в createElement. Синтаксис

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

ReactDOM.render(
  title,
  document.getElementById('react-container')
)
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<div id="react-container"></div>

Удачи с React!

1
Agney 5 Мар 2018 в 04:34
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Hello World</title>
    <script src="https://unpkg.com/react@16/umd/react.development.js"></script>
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
    <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
  </head>
  <body>
    <div id="root"></div>
    <script type="text/babel">

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

    </script>
    <!--
      Note: this page is a great way to try React but it's not suitable for production.
      It slowly compiles JSX with Babel in the browser and uses a large development build of React.

      To set up a production-ready React build environment, follow these instructions:
      * https://reactjs.org/docs/add-react-to-a-new-app.html
      * https://reactjs.org/docs/add-react-to-an-existing-app.html

      You can also use React without JSX, in which case you can remove Babel:
      * https://reactjs.org/docs/react-without-jsx.html
      * https://reactjs.org/docs/cdn-links.html
    -->
  </body>
</html>
0
Harsh Makadia 5 Мар 2018 в 04:30

Вам не хватает , после вашего 'h1'

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


ReactDOM.render(
  title,
  document.getElementById('react-container')
)
/**/
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>

<div id="react-container"></div>
1
vol7ron 5 Мар 2018 в 04:32

Нет , после строки hi. положи это

const title = React.createElement(
    'h1',
    {id: 'title', className: 'header'},
    'Hello World'
    )
0
Kenry Sanchez 5 Мар 2018 в 04:33