在 AngularJS 中,我觀察到這樣的變化。
$scope.$watch("rateMode",
function (newVal, oldVal) {
if (newVal != oldVal && timeRange != "") {
if (typeof $scope.onRateCallback != undefined) {
$scope.onRateCallback($scope.chartDataObject, newVal);
}
updateChart(timeRange);
}
},
true
);
我怎樣才能在 ReactJS 中做到這一點?
uj5u.com熱心網友回復:
要在組件渲染時觀察 React 的變化,你可以使用useEffect 鉤子
useEffect 有兩個引數,第一個是回呼函式,第二個是依賴陣列。
在回呼函式中,您可以在 useEffect 運行時撰寫您想要執行的操作。在依賴陣列中傳遞狀態或道具,每當依賴陣列中傳遞的變數發生變化時,它都會再次運行 useEffect。
import React, { useState, useEffect } from 'react';
function Example() {
const [count, setCount] = useState(0);
// Here, useEffect runs on first render and after whenever count is changed
useEffect(() => {
document.title = `You clicked ${count} times`;
}, [count]);
return (
<div>
<p>You clicked {count} times.</p>
<button onClick={() => setCount(count 1)}>
Click me
</button>
</div>
);
}
uj5u.com熱心網友回復:
從問題看來,您需要根據代碼的更改來更新 ui。請嘗試在 React 中使用 useState。
const [rateMode, setRateMode] = useState();
并使用 rateMode 變數進行渲染。當呼叫 setRateMode 并更新速率模式時,UI 將呈現更改。
如果您有變數或 useState 并想觀看,請使用
useEffect hook
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/490615.html
