我正在開發一個需要事件偵聽器的應用程序。提供給此事件偵聽器的函數正在與DOM進行交互。相同的功能也需要運行當組件安裝:如何爲服務器端React創建事件偵聽器?
...
componentDidMount() {
this.getWidth();
window.addEventListener('resize', this.getWidth);
}
getWidth =() => {
const elem = this.elem.clientWidth;
...
}
render() {
return(
<div>
<SomeComponent
ref={(elem) => this.elem = elem}
/>
</div>
);
}
...
作爲該應用程序呈現服務器端最初,則componentDidMount
生命週期方法不運行,因此,getWidth
函數不運行並且事件偵聽不會添加到窗口對象。我該如何做這項工作?
你是什麼意思「渲染服務器端」?你用什麼來完成這件事? – sigmus
它使用Node呈現在服務器端。然後,一旦第一頁下載React接管。但是,在React接管之前,componentDidMount生命週期方法將不會運行,並且我需要它立即運行。 – JoeTidee