callstack / callstack/react-native-slider

iOS: Slider sometimes does not mount at full width

未关闭
#745 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
bug report
主要语言
TypeScript
星标
1.4k
派生
295
平均合并
5 分钟
30 天内合并 PR
1

描述

## Environment

* react-native info output:
```
// react-native info
npmPackages:
"@react-native-community/cli":
installed: 15.1.3
wanted: ^15.0.1
react:
installed: 18.3.1
wanted: 18.3.1
react-native:
installed: 0.77.3
wanted: ^0.77.0
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
```

## Description

On initial mount of a new component that contains a slider, the slider will very rarely not expand to full width even though we have styled it as such. Here's a screenshot:

Image

In this example the slider is being set with an initial value of 3.6 (out of 5.0), but you can see the actual track of the slider is only rendering at less than half the width that it should be. Note that we render the tick-marks ourselves, not via the repo, but they show that we expect the slider to be full width. The slider still functions normally at this point, allowing selection of values 0 to 5 but only along this tiny track. 98% of the time when pushing this screen it appears normally...this just appears to be an odd race condition.

This only started happening after I upgraded from RN 0.76 to 0.77 and enabled the new architecture, and upgraded slider from 4.5.0 to 5.0.1. I suspect it's related to new arch.

## Reproducible Demo

Not reproducible every time so this is tough. But it's a slider with `style={{ width: '100%' }}` set and the component is presented via a react-native-navigation (wix) modal

贡献指南

打开贡献指南

调研方向

首先,在启用新架构的 React Native 0.77 下,使用 style={{ width: '100%' }} 和初始值 3.6,复现 react-native-navigation 模态框中 slider 的初始挂载。调查 slider 在挂载期间的布局行为;当 track 始终以全宽渲染,同时保持正常的 0 到 5 选择时,即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
react-native
领域
mobile
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。