Slide 27
Slide 27 text
// hydrator.js
…
export class Hydrator extends React.Component {
shouldComponentUpdate() {
return false;
}
componentDidMount() {
new IntersectionObserver(async ([entry], obs) => {
if (!entry.isIntersecting) return;
obs.unobserve(this.root);
const { load, ...props } = this.props;
const Child = interopDefault(await load());
ReactDOM.hydrate(, this.root);
}).observe(this.root);
}
render() {
return (
this.root = c}
dangerouslySetInnerHTML={{ __html: '' }}
suppressHydrationWarning
/>
);
}
}
IZESBUPSKT
)ZESBUPS$MJFOU)ZESBUPS