[英]Why useState doesn't work even though I load model in useEffect
我正在嘗試使用 tf.loadLayersModel 方法在 React 組件中加載 TensorFlow.js model,然后使用 setState 方法在組件的 state 中設置加載的 model。 但是,state 沒有更新,組件也沒有重新渲染。 我嘗試在 tf.loadLayersModel 返回的 promise 的 then 回調中調用 setState,但它似乎不起作用。
const [model, setModel] = useState(null);
useEffect(() => {
tf.loadLayersModel('/model.json')
.then(loadedModel => {
setModel(loadedModel);
console.log('Model loaded', model);
})
.catch(err => {
console.error('Error loading model', err);
});
}, []);
const [model, setModel] = useState(null);
useEffect(() => {
tf.loadLayersModel('/model.json')
.then(loadedModel => {
setModel(loadedModel);
console.log('Model loaded', model);
})
.catch(err => {
console.error('Error loading model', err);
});
}, [model]);
您需要將 model 傳遞給 useEffect 的 Dependency 數組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.