Сейчас я работаю над проектом React Native, у меня очень большой список, поэтому я решил использовать FlashList... В iOS все работает корректно, в Android в режиме LTR проблем нет, но когда приложение в режиме RTL у меня получилось вот так:
Запись экрана: https: //imgur.com/a/jNnHNYQ
зеленый фон предназначен только для отладки
Таким образом, проблема в том, что элемент списка сначала отображается, но быстро исчезает и остается пустой экран :/ , а также, когда я удаляю горизонтальность, элементы снова появляются, но вертикально.
Вот мой компонент FlashList:
Код: Выделить всё
// I need this list to be always ltr
Код: Выделить всё
const renderItem = useCallback(
({ item }: any) => (
{t('quranKarim')}
{t('quranKarim')}
{images.map((val: string, index: number) => (
{focusedVerse && focusedVerse.some((val: any) => val.line === index) &&
(
val.line === index)[0].width,
height: RH(5.375),
top: 0,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#ffd5b5',
position: 'absolute',
zIndex: -1,
left: `${focusedVerse.filter((val: any) => val.line === index)[0].left * 100}%`,
}}
/>
)}
{
pressTimeoutRef.current = setTimeout(() => {
const lineVerses = item.chapter.verse
.filter((v: any) =>
v.VerseHighlight.some((highlight: any) => highlight.line === index)
)
.map((v: any) => v.VerseHighlight);
handlePress(e, index, lineVerses);
}, 50);
}}
onPressOut={() => {
if (pressTimeoutRef.current) {
clearTimeout(pressTimeoutRef.current);
handlePressOut();
}
}}
onLongPress={handleLongPress}
>
))}
{item.id + 2}
),
[focusedVerse, imageContainerDimensions, images]
);
Подробнее здесь: https://stackoverflow.com/questions/790 ... n-rtl-mode
Мобильная версия