首页 > 解决方案 > 反应本机函数调用

问题描述

我对本机反应很陌生,出于好奇,我想知道我们是否可以调用在 useEffect 钩子内部定义的函数,在钩子之外?就像,每次我刷新页面时,都应该触发该功能。我已经想到了这种方法,如果有更好的解决方案,请指导。我正在使用功能组件。这就是我想要实现的:

RefreshControl component
 {somefunction()}

useEffect(
somefunction(){

//function body
}
    )

标签: reactjsreact-native

解决方案


不,函数将无法在useEffect. 适用常规 Javascript 规则。

你为什么不把它定义在外面useEffect

const foo = () => { console.log('yay') };

useEffect(() => {
  foo();
}, [])

也不清楚everytime i refresh the page在上下文中是什么意思react-native,你能详细说明一下吗?

还有另一种“触发”的方法useEffect,间接调用它:

function C {
  [t, setT] = useState();
  useEffect(() => {
    const foo = () => console.log(t);
    foo();
  }, [t])
  return <Button onPress={() => setT(new Date())} title="Trigger foo" />
}

useEffect至少每次t更改时都会调用上述内容。


推荐阅读