#javascript #html #reactjs
#javascript #HTML #reactjs
Вопрос:
Я пытаюсь отобразить элементы, написанные в js-файле, используя react, вот класс:
import React from 'react'
import ReactDOM from "react-dom";
const e = React.createElement;
class StartPage extends React.Component {
render() {
return(
<div>
<h2>...0</h2>
<h3>...1</h3>
<p>...3</p>
<p>...2</p>
<div id="current_date_time"></div>
<h:link outcome="main">Go to main page</h:link>
</div>
)
}
}
const domContainer = document.querySelector('#test');
ReactDOM.render(StartPage, domContainer);
вот html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://unpkg.com/react@17/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js" crossorigin></script>
<script type="text/js" src="js/start.js"></script>
</head>
<body>
<div id="test"/>
</body>
</html>
Но при запуске ничего не происходит, в консоли нет сообщений об ошибках, что я делаю не так?
Комментарии:
1. Должен быть ReactDOM.render(<StartPage/>, domContainer);
2. @lissettdm , это не дает результатов
3. Это недопустимо <h:link результат=»main»>Перейти на главную страницу</h:link>,
4. @lissettdm , я скопировал ваш код, у меня все еще нет результатов, в чем может быть проблема? я что-то неправильно подключил?
5. Добавить <script type=»text/js» src=»js/start.js «></script> внутри тела. если ваш скрипт записывает содержимое страницы, его следует поместить в раздел тела
Ответ №1:
- Недопустимый
h:link
элемент HTML, и, судя по всему, он нигде не определен. StartPage
В рендеринге должен быть вызов компонента, поэтому вместо этого используйте это —<StartPage />
Вот рабочий CodeSandbox — https://codesandbox.io/s/affectionate-williamson-xtxwn?file=/src/index.js