Узел / реагировать, как вернуть чистый html-файл, отображаемый с реагировать и отправить клиенту

У меня есть простое приложение node.js, которое должно отвечать на запросы с помощью чистого HTML с помощью React's renderToString функция. Код для рендеринга и ответа выглядит следующим образом:

const markup = renderToString(
    <Provider {...stores}>
        <Router location={req.url} context={{}} history={browserHistory}>
            <Routes/>
        </Router>
    </Provider>
);

res.status(200).send(markup);

И ответ HTML:

<section data-reactroot="">
    <h1>Header</h1>
    <div>Body</div>
</section>

Я не хочу никаких следов реакции на выходе. Есть ли способ, когда рендеринг с реагировать, чтобы не включать data-reactroot или какие-то другие следы реагируют?

2 ответа

Решение

Просто используйте renderToStaticMarkup вместо renderToString и не будет никакого следа реакции в выходных данных (ссылка https://reactjs.org/docs/react-dom-server.html)

Вы используете React 16? Как только вы используете эту версию, ни один из сгенерированных атрибутов React не должен присутствовать.

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