首页 > 解决方案 > 尝试在 SetParams React-Native 中传递函数时应用程序冻结

问题描述

我正在尝试使用 setParams 传递一个函数来处理我的 navigationOptions 中的按钮单击,但我的应用程序反而冻结了。这是我的代码,任何帮助将不胜感激。谢谢

const handleVisibility = useCallback(()=>{
         setMenuVisible(!menuVisible)
 },[menuVisible])

 useEffect(()=>{
   props.navigation.setParams({
      visibility:handleVisibility
   })
 },[handleVisibility])

标签: react-nativenavigationuse-effectusecallback

解决方案


您正在使用函数设置参数:

props.navigation.setParams({
    visibility:handleVisibility // <-- handleVisibility is a function
})

我认为应该是:

props.navigation.setParams({
    visibility:menuVisible // <-- menuVisible insted
})

推荐阅读