【发布时间】:2022-08-24 16:21:18
【问题描述】:
我已经阅读了几篇关于useCallback 和useMemo 的文章,内容是关于何时使用和何时不使用,但我主要看到的是contrived 代码。我正在查看我公司的代码,我注意到有人这样做了:
const takePhoto = useCallback(() => {
launchCamera({ mediaType: \"photo\", cameraType: \"front\" }, onPickImage);
}, []);
const pickPhotoFromLibrary = async () => {
launchImageLibrary({ mediaType: \"photo\" }, onPickImage);
}
const onUploadPress = useCallback(() => {
Alert.alert(
\"Upload Photo\",
\"From where would you like to take your photo?\",
[
{ text: \"Camera\", onPress: () => takePhoto() },
{ text: \"Library\", onPress: () => pickPhotoFromLibrary() },
]
);
}, [pickPhotoFromLibrary, takePhoto]);
这就是 onUploadPress 的调用方式:
<TouchableOpacity
style={styles.retakeButton}
onPress={onUploadPress}
>
你认为这是正确的称呼方式吗?根据我对这些文章的理解,这看起来不正确。有人能告诉我什么时候使用useCallback,还可以用更人性化的方式解释 useCallback 吗?
标签: javascript reactjs typescript react-native