我通过useLayoutEffect 将一个函数传递到我的头
useLayoutEffect(() => {
props.navigation.setParams({
toggleFavoriteHandler
});
}, [toggleFavoriteHandler]);
我在导航中得到它屏幕选项:
const toggleFavorite = navigationData.navigation.getParam(
"toggleFavoriteHandler"
);
console.log(toggleFavorite);
控制台日志给了我:
未定义
【功能匿名】
【功能匿名】
因此,函数只在几毫秒后定义。当我过早按下功能按钮时,我的应用程序会崩溃。有什么方法可以检查功能是否准备好了吗?谢谢
onSelect={() => {
if (typeof toggleFavorite === "function") {
toggleFavorite();
}
}}
不确定这是否是正确的方法,但至少可以防止应用程序崩溃。不知道为什么没人能帮我。