[英]Is it possible to use objects declared in useeffect hook?
我想使用在useEffect
钩子中声明的 object,比如
function App(){
useEffect(() => {
let myObject = .....
}
myObject.myFunction()
}
但是 IDE 给我一个错误,说myObject
没有定义......
我假设这不是一个很好的方法来引导重新渲染在 useEffect 钩子中声明的对象,但是无论如何,有没有办法使用在 useEffect 钩子中声明的对象?
我不这么认为,因为它在不同的 scope 中。
可以改用 state,因为当 useEffect 调用和 object 更改时,您不会在 object 中获得新值
像这样:
function App(){
const [myObject,setMyObject] = useState()
useEffect(() => {
setMyObject(...)
},[])
myObject?.myFunction()
}
首先你的代码是错误的。 它不是useeffect
它是useEffect
,所以:
useeffect(() => {
let myObject = .....
}
应该:
useEffect(() => {
let myObject = .....
}
其次,您将在这种情况下使用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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.