我在我的 react-native 專案中使用@react-navigation/bottom-tabs .. 有三個選項卡
| Home | Add | List |
所有這些螢屏都應該使用 3 個不同的 API 獲取資料,并在用戶訪問這些選項卡時顯示它......但問題是我如何檢測選項卡何時獲得焦點?
我嘗試使用useIsFocused(),但它不起作用......假設我在主螢屏中有一個 API 呼叫GetStudentsName(),我希望它在用戶訪問HomeTab時運行......但是當我點擊在Add 選項卡上,這個GetStudentsName() Api 也被呼叫了!...
如何僅在選項卡獲得焦點時限制此 api 呼叫,而不是在選項卡失去焦點時?
請提供基于鉤子的解決方案而不是基于類的解決方案
uj5u.com熱心網友回復:
當用戶點擊底部選項卡圖示或按鈕時,React Navigation 提供了一個事件處理程式來調度事件。
React.useEffect(() => {
const unsubscribe = navigation.addListener("tabPress", async (e) => {
// add your business logic here
// Unsubscribe to event listener when component unmount
return () => unsubscribe();
}, [ navigation]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/404435.html
標籤:
上一篇:不能使用異步函式的值
