将函数传递给导航选项并检查它是否已准备就绪?



我通过useLayoutEffect 将一个函数传递到我的头

useLayoutEffect(() => {
props.navigation.setParams({
toggleFavoriteHandler
});
}, [toggleFavoriteHandler]);

我在导航中得到它屏幕选项:

const toggleFavorite = navigationData.navigation.getParam(
"toggleFavoriteHandler"
);
console.log(toggleFavorite);

控制台日志给了我:

未定义

【功能匿名】

【功能匿名】

因此,函数只在几毫秒后定义。当我过早按下功能按钮时,我的应用程序会崩溃。有什么方法可以检查功能是否准备好了吗?谢谢

onSelect={() => {
if (typeof toggleFavorite === "function") {
toggleFavorite();
}
}}

不确定这是否是正确的方法,但至少可以防止应用程序崩溃。不知道为什么没人能帮我。

最新更新