Как я могу предотвратить повторное рендеринг содержимого SSR в браузере клиента на React.hydrate(...)
?
Мой рабочий процесс
В моем текущем проекте я рендерил несколько компонентов React во время моегопроцесс сборки через ReactDomServer.renderToString(...)
.Результат этого рендеринга будет использоваться как фрагмент Thymeleaf.DOM SSR содержит несколько атрибутов th:text
для интернализации:
Краткий пример
Это мой компонент:
import React from "react";
class WdbThym extends React.Component {
constructor(props) {
super(props);
}
shouldComponentUpdate() {
return false;
};
render() {
return (
<span {...{ 'th:text': `#{${this.props.i18n}}` }}>
{this.props.i18n}
</span>
);
}
}
export default WdbThym;
Это пример использования WdbThym
:
<WdbThym i18n="general.hello_world" />
Это то, что ReactDomServer.renderToString(...)
создает:
<span th:text="#{general.hello_world}">general.hello_world</span>
Это то, что Thymeleaf отображает и отправляет клиенту:
<span>Hello World!</span>
Это то, что React.hydrate
рендеринга:
<span th:text="#{general.hello_world}">general.hello_world</span>
Как я могу предотвратить начальный рендеринг на React.hydrate(...)
для вышеупомянутого Component
?