Как импортировать HTML-файл в компонент React и использовать его как компонент?

Я хочу импортировать файл HTMLв компонент Реагировать

Как импортировать HTML-файл в компонент React и использовать его как компонент?

peft.html

<!DOCTYPE html>
<html>
  <head>
    <title>Page Title</title>
  </head>
  <body>
    <h1>This is a Heading</h1>
    <p>This is a paragraph.</p>
  </body>
</html>

index.js

import perf from perf.html

class Index extends React.Component {
   render(){
      return (
         <iframe src = "perf"></iframe>   /* like this */
         <iframe src = "./perf"></iframe> /* or like this */
         /* or like any possible way */
      );
   }
}
export default Index;

поэтому в моем случае мне нужно импортировать локальный HTML-файл и использовать его в но я получаю сообщение об ошибке:

Uncaught (in promise) Error: Module parse failed: C:\Users....\target.html Unexpected token (1:0) You may need an appropriate loader to handle this file type.

Любые идеи? Как загрузить HTML-файл в компонент React? Как добавить соответствующий загрузчик для работы с этим типом файлов? Что-нибудь?

Я считаю это решение наиболее логичным:

var __html = require('./template.html');
var template = { __html: __html };

React.module.exports = React.createClass({
  render: function() {
    return(
      <div dangerouslySetInnerHTML = {template} />
    );
  }
});

но я не могу его применить, потому что получаю сообщение об ошибке:

Uncaught (in promise) Error: Module parse failed: C:\Users\....\target.html Unexpected token (1:0) You may need an appropriate loader to handle this file type. 
| <!DOCTYPE html> 
| <html xmlns = "w3.org/1999/xhtml">; 
| <head><title>

Посмотрите: stackoverflow.com/questions/33973757/…

Lumpenstein 11.06.2018 10:05

Почему бы не сделать его peft.js вместо расширения .html? Есть ли смысл?. Вы также можете использовать этот "const component () {return (<div> hello World </div>)}"

Deee 11.06.2018 10:13
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
6
2
17 308
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете импортировать или потребовать html-файл и использовать его в атрибуте src,

var perf =require('./template.html');

class Index extends React.Component {
   render(){
      return (
         <iframe src = {perf }></iframe>   /* like this */
      );
   }
}
export default Index;

Не могли бы вы принять ответ для сообщества по переполнению стека, если он сработал для вас.

Rohith Murali 11.06.2018 18:12

А где вы используете IndexedDB ??

Rohith Murali 12.06.2018 12:41

Извините. моя ошибка.

Zack Zilic 12.06.2018 12:49

Мне любопытно узнать ответ на эту проблему. Я столкнулся с той же ошибкой, что и в сообщении. Приведенный выше ответ «<iframe src = {perf}> </iframe>» не решил мою проблему.

user3362908 15.01.2019 01:17

Вы пробовали <div dangerouslySetInnerHTML = {{ __html: htmlText }} ></div>

Rohith Murali 15.01.2019 06:06

Вы по-прежнему получаете Ошибка синтаксического анализа модуля: неожиданный токен (1: 0). Для обработки этого типа файла может потребоваться соответствующий загрузчик, в настоящее время загрузчики не настроены для обработки этого файла. См. webpack.js.org/concepts#loaders> <! DOCTYPE html> | <html lang = "ru"> | <head>

user4920718 01.06.2020 20:09

Другие вопросы по теме