三國紛爭
2024-01-18 20:32:20
我對 ReactJS 完全陌生,剛剛完成了我的教程,現(xiàn)在我正在使用 React。我一開始只是制作一個 PHP 文件 echo“Hello”,然后 React.js 獲取該響應(yīng)并將其顯示在網(wǎng)站上,但它似乎根本不起作用。我的 PHP 代碼:<?PHP echo "Hello!";?>我的 React.js 代碼:const [data, newData] = useState(null);useEffect(() => { fetch(//MY .php file link, NOT API just a php file echoing hello) .then((response) => response.json()) .then(newData); }); return ( <> <div> { data } </div> </> );
1 回答

幕布斯6054654
TA貢獻1876條經(jīng)驗 獲得超7個贊
在第一個.then()中fetch,當(dāng)您嘗試使用該方法從響應(yīng)中提取 JSON 內(nèi)容時json(),您應(yīng)該使用該.text()方法,因為您從服務(wù)器返回一個簡單的字符串,而不是 JSON 對象。返回此文本后,您可以更新第二個中的狀態(tài).then()。
不要忘記在您的 中包含依賴項數(shù)組useEffect,因為如果沒有它,您將始終在運行后觸發(fā)另一個渲染。如果添加一個空數(shù)組作為依賴項,它將僅在頁面加載時獲取。
function App() {
const [data, newData] = useState(null);
useEffect(() => {
fetch(URL)
.then((response) => response.text())
.then((response) => newData(response));
}, []);
return <div>{data ? data : 'No data yet...'}</div>;
}
添加回答
舉報
0/150
提交
取消