callstack / callstack/react-native-bottom-tabs

Fullscreen modal buggy (flickering) when using CustomTabBar

Đang mở
#371 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug
Ngôn ngữ chính
TypeScript
Star
1.5k
Fork
109
Merge trung bình
11 giờ 44 phút
Pull request đã merge (30 ngày)
8

Mô tả

### Bug summary

When using a custom tab bar as by your example, full-screen modals behave inconsistently when no animation is used `(animation: "none")`. Upon navigation, the new screen’s height is initially calculated as SCREEN_HEIGHT - TABBAR_HEIGHT, and shortly after, it adjusts to include the height of the tabbar, causing noticeable flickering.
In other cases, the new screen ends up with a black area at the bottom, matching the height of the tab bar.

Navigating to the modal shortly still shows the tabbar sometimes (for a frame):

Then shortly after renders the full screen as supposed to:

It also happens that it just shows a black area at the bottom part all the time:

### Library version

0.9.2

### Environment info

```shell
⚠️ react-native depends on @react-native-community/cli for cli commands. To fix update your package.json to include:

"devDependencies": {
"@react-native-community/cli": "latest",
}
```

### Steps to reproduce

Navigate to a screen that has the following options:
```
options={{
title: "Modal",
presentation: "fullScreenModal",
animation: "none",
}}
```

### Reproducible sample code

```js
https://github.com/dylancom/native-tabs-modal-bug
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start by running the reproducible sample at https://github.com/dylancom/native-tabs-modal-bug and navigating with presentation set to fullScreenModal and animation set to none. Trace the CustomTabBar and modal layout transition that produces the initial tab-bar height, then verify that navigation consistently renders the full-screen modal without flickering or a black area at the bottom.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
react-native, typescript
Lĩnh vực
mobile
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.