我真的不明白我們如何能夠從數據庫中通用(同構)服務器端呈現獲取數據反應的應用。我們不能在componentWillMount()等等...因爲它是JavaScript,在客戶端工作!沒有任何與數據庫的連接。能怎樣?獲取數據之前呈現普遍反應應用
我需要從數據庫數據呈現的HTML。服務器應該用數據返回HTML。處理承諾的動作,這就是爲什麼他們在渲染前不返回數據。
陣營與Ajax的請求取數據。但是,我們需要發送多個Ajax的請求來呈現一個頁面?...
嗯,這是非常令人困惑。
我真的不明白我們如何能夠從數據庫中通用(同構)服務器端呈現獲取數據反應的應用。我們不能在componentWillMount()等等...因爲它是JavaScript,在客戶端工作!沒有任何與數據庫的連接。能怎樣?獲取數據之前呈現普遍反應應用
我需要從數據庫數據呈現的HTML。服務器應該用數據返回HTML。處理承諾的動作,這就是爲什麼他們在渲染前不返回數據。
陣營與Ajax的請求取數據。但是,我們需要發送多個Ajax的請求來呈現一個頁面?...
嗯,這是非常令人困惑。
你可以呈現來自服務器的數據中隱藏的HTML組件,每當服務器端的網站加載。顯示那些在view.like
<div id="load-first" style="display:none">{{your_data}}</div>
現在,當頁面加載然後渲染內部HTML的JSON數據或別的東西,在視圖中像
import React, {Component} from 'react';
class MyComponent extends Component{
constructor(props){
super(props);
this.state={myData: {}}
}
componentDidMount(){
let data = document.getElementById("load-first").innerHTML;
// if json
data = JSON.parse(data);
this.setState({myData: data});
}
render(){
return (
<div>{this.state.myData}</div>
);
}
}
你不明白。我需要從HTTP響應主體中的數據庫數據呈現服務器返回。理解?像componentDidMount或componentWillMount這樣的愚蠢的東西不起作用!因爲它是JS。客戶端的JS不能從HTTP響應體中的數據庫返回數據。 –
在PHP中有一個名爲header()的函數,您可以在其中傳遞鍵值對。您是否嘗試過使用它將內容添加到HTTP響應標頭中。 也有一個計算器的問題,我遇到了[鏈接](https://stackoverflow.com/questions/563035/can-i-pass-custom-data-in-the-http-header)你檢查它出。 –
你不明白。我不需要任何頭等。我需要從服務器獲取html中的新聞。沒有任何行動在客戶端發送。 –
請不要減,說明 –
是,你使用Ajax請求(XHR),但人們傾向於使用Fetch API或Axios,因爲這些都有承諾。您獲取的用於填充組件的初始數據必須在ComponentDidMount()中初始化。其他人爲了檢查你點擊了什麼,並且想要獲取一些數據,這應該在生命週期中作爲一個單獨的方法來完成。如果你指定了你正在使用的堆棧(例如,你使用了什麼數據庫?)我可以給你一個代碼示例 – carkod
另外,你不發送多個Ajax請求來渲染頁面。你(1)渲染頁面(2)獲取數據 – carkod