我想使用在useEffect钩子中声明的对象,例如
useEffect
function App(){ useEffect(() => { let myObject = ..... } myObject.myFunction() }
但是IDE给了我一个错误,myObject没有定义...我认为这不是一个好方法来导致重新呈现在useEffect钩子中声明的对象,但无论如何,有没有办法使用在useEffect钩子中声明的对象?
myObject
wnavrhmk1#
我不这么认为,因为这是在不同的范围。使用状态也可以,因为当useEffect调用和对象更改时,您不会在对象中获得新值像这样:
function App(){ const [myObject,setMyObject] = useState() useEffect(() => { setMyObject(...) },[]) myObject?.myFunction() }
mnemlml82#
首先你的代码是错误的,它不是useeffect,而是useEffect,所以:
useeffect
useeffect(() => { let myObject = ..... }
应为:
useEffect(() => { let myObject = ..... }
其次,在此场景中使用useState:
useState
const [ myObject, setMyObject ] = useState() useEffect(() => { setMyObject(...) }, []) myObject?.myFunction()
第三,确保您正确地导入它们,例如:
import React, { useState, useEffect } from 'react' function So75221887() { const [ myObject, setMyObject ] = useState() useEffect(() => { setMyObject(...) }, []) myObject?.myFunction() } export default So75221887
2条答案
按热度按时间wnavrhmk1#
我不这么认为,因为这是在不同的范围。
使用状态也可以,因为当useEffect调用和对象更改时,您不会在对象中获得新值
像这样:
mnemlml82#
首先你的代码是错误的,它不是
useeffect
,而是useEffect
,所以:应为:
其次,在此场景中使用
useState
:第三,确保您正确地导入它们,例如: