繁体   English   中英

在 Reactnative 中按下 onPress 时,如何将值传递给函数?

[英]How can I pass a value to a function when onPress is pressed in Reactnative?

我在使用 Reactnaitve 触发 onPress 的时候,执行了 photosModalControl 函数,想先获取值,还想执行 setUploadPhotos。 但是当我使用我的代码时,我得到了值,但是 setUploadPhotos 没有被执行。 如何修复代码?

这是我的代码

const photosModalControl = (value: string) => () =>  {
    console.log(value);
    setUploadPhotos(prevState => !prevState);
};


<Pressable 
onPress={photosModalControl("first")}
>
</Pressable>

如果我没记错的话,你不应该这样设置你的功能:

const someFunction = (variable: type) => {
   functions stuff
}

你加倍并放:

const someFunction = (variable: type) = () => {
   functions stuff
}

您在 onPress 中传递函数的方式将导致在渲染时调用该函数。 而是使用这个:

    const photosModalControl = (value: string) => () =>  {
        console.log(value);
        setUploadPhotos(prevState => !prevState);
    };


    <Pressable onPress={()=>photosModalControl("first")}>Button</Pressable>

这样,您可以将任意数量的参数传递给您的函数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM