Javascript 在其外部使用有效读取数组

Javascript 在其外部使用有效读取数组,javascript,reactjs,Javascript,Reactjs,假设我有以下字符串数组: const types = [ "type1", "type2", "type3" ] 然后我还有一个像这样的useEffect钩子: useEffect( () => { if (someOtherString in types) { doSomething...} }, [someOtherString]) 上述useffect钩子的问题是,它将要求添加对“typ

假设我有以下字符串数组:

const types = [
    "type1",
    "type2",
    "type3" ]

然后我还有一个像这样的useEffect钩子:

useEffect( () => {
    if (someOtherString in types) { doSomething...}
}, [someOtherString])
上述useffect钩子的问题是,它将要求添加对“types”变量的依赖性。因此,如果我将其添加到依赖项列表中:

,[someOtherString,types])

它将重新渲染大约3或4次


如何创建一个useEffect来读取数组或字典(在数组或字典之外定义),而不将其添加到依赖项中?

将依赖项作为条件本身如何? 例如:

const shouldDoSomething=类型中的其他字符串;
useffect(()=>{
如果(应该做某事){/**做点什么!*/}
},[shouldDoSomething])

您可以将
类型移动到组件外部。另外,我猜
中的
没有做您想做的事情…组件外部是否声明了
类型
?因此,您想知道的是ESlint警告,而不是代码实际不工作?是的,我想知道的是ESling警告。代码正在运行。类型在组件内声明