reactjs - 反应本机函数调用
问题描述
我对本机反应很陌生,出于好奇,我想知道我们是否可以调用在 useEffect 钩子内部定义的函数,在钩子之外?就像,每次我刷新页面时,都应该触发该功能。我已经想到了这种方法,如果有更好的解决方案,请指导。我正在使用功能组件。这就是我想要实现的:
RefreshControl component
{somefunction()}
useEffect(
somefunction(){
//function body
}
)
解决方案
不,函数将无法在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
更改时都会调用上述内容。
推荐阅读
- v8 - 在 JSON 解析后获取解析值(嵌入式 v8)
- bash - 使用远程数据完成 Cobra 标志 bash
- c++ - 退出 PCL 查看器:即使窗口关闭,wasStopped() 也不会改变值
- django - 我正在尝试在 AWS 上发布销售商商店并使用 Apache
- javascript - 如何在 file_get_contents 和 echo $content 之后为数字着色;
- entity-framework-core - Entity Framework Core 2.1 - FromSql 方法中的通用模型
- python - 在 django 和 aws 中使用 crontab 发送数千封电子邮件
- python - 如何将可能格式错误的 xml 解析为数据框?
- c# - 带有 Web 套接字 MatchingTweetReceived 的 Twitter 流未在 twitterinvl 中触发
- elasticsearch - 如何配置 Java RestClient 以与 ElasticCluster 通信?