簡體   English   中英

為什么即使我在 useEffect 中加載 model useState 也不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM