React каким-то образом запрашивает второй экземпляр самого себя через html, когда я его визуализирую

#node.js #reactjs

#node.js #reactjs

Вопрос:

Извините, это трудно объяснить, и именно поэтому я не уверен, как это исправить.

Я пытаюсь выполнить рендеринг на стороне сервера с помощью React, и для начала я удалил все JS на стороне клиента, так что это просто CSS и статический HTML.

Я заметил, что когда я открываю localhost, мой сервер сообщает, что он дважды запускается для root. Я проверил сетевую панель Chrome и увидел вторую строку для «localhost», за исключением того, что вторая строка имеет тип «текст / html» вместо document.

Мой первый вопрос: как это возможно без JS?

Мой второй вопрос: как мне это остановить?

что показывает сеть Chrome (обратите внимание на второй локальный хост внизу):

Сетевая панель Chrome.

HTML, возвращаемый моим сервером: (сверхдлинная строка — это только мои статьи, и она не будет html-инициатором захвата второго HTML-документа)

 <html lang="en" data-reactroot="" data-reactid="1" data-react-checksum="1083304721">
    <head data-reactid="2">
        <title data-reactid="3">Jayeh - Jasons tech and opinions</title>
        <link rel="stylesheet" href="/dist/base.css" data-reactid="4"/>
        <link rel="stylesheet" href="/dist/default.css" data-reactid="5"/>
        <link rel="stylesheet" href="/node_modules/font-awesome/css/font-awesome.min.css" data-reactid="6"/>
        <link rel="stylesheet" href="/dist/styles/codepen-embed.css" data-reactid="7"/>
        <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Open Sans" data-reactid="8"/>
    </head>
    <body data-reactid="9">
        <div data-reactid="10">
            <span style="font-family:Baskerville;font-size:36px;padding-right:10px;padding-left:10px;border-right:solid 2px grey;border-bottom:solid 2px grey;" data-reactid="11">Blog</span>
            <div style="margin-left:5%;max-width:800px;height:120px;" data-reactid="12"><a class="blackReadable" href="/article/t/${article.title}" data-reactid="13"><div style="position:relative;width:100%;height:100%;background-image:url(amp;#x27;/dist/header1.jpgamp;#x27;);background-size:100%;font-family:Open Sans;border:1px dashed maroon;margin-top:5px;margin-bottom:5px;" data-reactid="14"><p style="font-size:2em;" data-reactid="15">Q Avoiding State on The Web</p><p style="font-size:1em;margin-left:4em;" data-reactid="16">I discuss a saner way to program</p><p style="position:absolute;right:0;bottom:0;" data-reactid="17"><!-- react-text: 18 -->Created On: <!-- /react-text --><!-- react-text: 19 -->Thu Feb 18 2016<!-- /react-text --></p></div></a></div><div style="margin-left:5%;max-width:800px;height:120px;" data-reactid="20"><a class="blackReadable" href="/article/t/${article.title}" data-reactid="21"><div style="position:relative;width:100%;height:100%;background-image:url(amp;#x27;amp;#x27;);background-size:100%;font-family:Open Sans;border:1px dashed maroon;margin-top:5px;margin-bottom:5px;" data-reactid="22"><p style="font-size:2em;" data-reactid="23">subarticle</p><p style="font-size:1em;margin-left:4em;" data-reactid="24"></p><p style="position:absolute;right:0;bottom:0;" data-reactid="25"><!-- react-text: 26 -->Created On: <!-- /react-text --><!-- react-text: 27 -->Wed Dec 31 1969<!-- /react-text --></p></div></a></div><div style="margin-left:5%;max-width:800px;height:120px;" data-reactid="28"><a class="blackReadable" href="/article/t/${article.title}" data-reactid="29"><div style="position:relative;width:100%;height:100%;background-image:url(amp;#x27;amp;#x27;);background-size:100%;font-family:Open Sans;border:1px dashed maroon;margin-top:5px;margin-bottom:5px;" data-reactid="30"><p style="font-size:2em;" data-reactid="31">blargy</p><p style="font-size:1em;margin-left:4em;" data-reactid="32"></p><p style="position:absolute;right:0;bottom:0;" data-reactid="33"><!-- react-text: 34 -->Created On: <!-- /react-text --><!-- react-text: 35 -->Thu Feb 18 2016<!-- /react-text --></p></div></a></div><div style="margin-left:5%;max-width:800px;height:120px;" data-reactid="36"><a class="blackReadable" href="/article/t/${article.title}" data-reactid="37"><div style="position:relative;width:100%;height:100%;background-image:url(amp;#x27;/dist/header2.pngamp;#x27;);background-size:100%;font-family:Open Sans;border:1px dashed maroon;margin-top:5px;margin-bottom:5px;" data-reactid="38"><p style="font-size:2em;" data-reactid="39">Avoiding State on The Web</p><p style="font-size:1em;margin-left:4em;" data-reactid="40">I discuss saner way to program</p><p style="position:absolute;right:0;bottom:0;" data-reactid="41"><!-- react-text: 42 -->Created On: <!-- /react-text --><!-- react-text: 43 -->Invalid Date<!-- /react-text --></p></div></a></div><div style="margin-left:5%;max-width:800px;height:120px;" data-reactid="44"><a class="blackReadable" href="/article/t/${article.title}" data-reactid="45"><div style="position:relative;width:100%;height:100%;background-image:url(amp;#x27;/dist/header1.pngamp;#x27;);background-size:100%;font-family:Open Sans;border:1px dashed maroon;margin-top:5px;margin-bottom:5px;" data-reactid="46"><p style="font-size:2em;" data-reactid="47">Avoiding State on The Web</p><p style="font-size:1em;margin-left:4em;" data-reactid="48">I discuss a saner way to program</p><p style="position:absolute;right:0;bottom:0;" data-reactid="49"><!-- react-text: 50 -->Created On: <!-- /react-text --><!-- react-text: 51 -->Invalid Date<!-- /react-text --></p></div></a></div><div style="margin-left:5%;max-width:800px;height:120px;" data-reactid="52"><a class="blackReadable" href="/article/t/${article.title}" data-reactid="53"><div style="position:relative;width:100%;height:100%;background-image:url(amp;#x27;/dist/header1.pngamp;#x27;);background-size:100%;font-family:Open Sans;border:1px dashed maroon;margin-top:5px;margin-bottom:5px;" data-reactid="54"><p style="font-size:2em;" data-reactid="55">ZZZAvoiding State on The Web</p><p style="font-size:1em;margin-left:4em;" data-reactid="56">I discuss a saner way to program</p><p style="position:absolute;right:0;bottom:0;" data-reactid="57"><!-- react-text: 58 -->Created On: <!-- /react-text --><!-- react-text: 59 -->Invalid Date<!-- /react-text --></p></div></a></div><div style="margin-left:5%;max-width:800px;height:120px;" data-reactid="60"><a class="blackReadable" href="/article/t/${article.title}" data-reactid="61"><div style="position:relative;width:100%;height:100%;background-image:url(amp;#x27;/dist/header1.jpgamp;#x27;);background-size:100%;font-family:Open Sans;border:1px dashed maroon;margin-top:5px;margin-bottom:5px;" data-reactid="62"><p style="font-size:2em;" data-reactid="63">Avoiding State on The Web</p><p style="font-size:1em;margin-left:4em;" data-reactid="64">I discuss a saner way to program</p><p style="position:absolute;right:0;bottom:0;" data-reactid="65"><!-- react-text: 66 -->Created On: <!-- /react-text --><!-- react-text: 67 -->Invalid Date<!-- /react-text --></p></div></a></div><div style="margin-left:5%;max-width:800px;height:120px;" data-reactid="68"><a class="blackReadable" href="/article/t/${article.title}" data-reactid="69"><div style="position:relative;width:100%;height:100%;background-image:url(amp;#x27;https://jayehtest.s3.amazonaws.com/Screen Shot 2016-09-15 at 12.32.07 PM.pngamp;#x27;);background-size:100%;font-family:Open Sans;border:1px dashed maroon;margin-top:5px;margin-bottom:5px;" data-reactid="70"><p style="font-size:2em;" data-reactid="71"> Redux Game Development</p><p style="font-size:1em;margin-left:4em;" data-reactid="72">and how to over complicate physics</p><p style="position:absolute;right:0;bottom:0;" data-reactid="73"><!-- react-text: 74 -->Created On: <!-- /react-text --><!-- react-text: 75 -->Sat Sep 17 2016<!-- /react-text --></p></div></a></div>
        </div>
        <p style="margin-top:100px;text-align:right;" data-reactid="76">jayeh.ca © 2016 (Jason McCarrell)</p>
    </body>
</html>
  

Комментарии:

1. Невозможно сказать, не глядя на ваш html-источник.

2. Я добавил html и скриншот сетевой панели Chrome

3. Это все еще открыто, но это определенно не блокирует меня. С тех пор мне удалось эффективно сделать мой блог полностью изоморфным. Одна дополнительная загрузка HTML ничего не повредит.