Serhii
индексы не рекомендуют использовать если порядок элементов в масиве може менятся если это статический список элементов то проблем не будет
Игорь
ребят, а что нужно, чтобы пр клике на кнопку отобразить другую вьюшку? к примеру есть компонент Login, там клик на кнопку и меняется экран на компонент Home как так сделать? что нужно использовать?
Andrey
может при заполнении массива добавлять ключ к каждому элементу при помощи Math.random?
Игорь
https://reactnavigation.org/en/
получается мне нужно его установить и при помощи ег оменять?
Andrey
а сортировка тогда как?
Serhii
а сортировка тогда как?
а откуда у Вас данные?
Andrey
дело в том что элементы списка могут быть уникальными и одинаковыми
Andrey
я сканирую штрих-код, отправляю его на бэк и получаю данные товара
Andrey
товар может быть одинаковый)
Andrey
вводить количество товара заказчик посчитал слишком ненадежной функцией исходя из криворукости работников склада
Dmitry
лучше тогда уже индекс
индекс используется во FlatList по умолчанию, с тем же успехом можно не объявлять keyExtractor
Dmitry
Andrey
конечно бэкенд добавляет, но айди ж конкретного товара, а если товар одинаков то и айди...
Serhii
ниодин генератор не может гарантировать уникальность
генератор здесь не при чем он каждый рендер буде создавать уникальный айди и не будет никакой привязки к элементу поэтому и не используют а не потому что не уникальный
Serhii
товар может быть одинаковый)
я вас не совсем понимаю смысл тогда отправлять несколько товаров если они идентичны можете показать как выглядит масив?
Dmitry
Andrey
@Bemaverick флетлист, представте перед вами лежит пять коробок с одинаковыми тапками, сканим по очереди штрихкоды и каждый раз наблюдаем как растет список тапок на экране
Andrey
тапок найк модель эйр размер 43 - все такие тапки с одинаковым штрихкодом будут
Andrey
нет
Vadim
Я не могу понять, в react-native-navigation можно вот так сделать?
Vadim
Vadim
В ишьюсах вижу, что вроде у людей работает, но не понимаю как это настроить.
Vadim
Речь про скрывающийся largeTitle
Andrey
Vadim в реакт навигэйшн делал похожее)
Vadim
Vadim в реакт навигэйшн делал похожее)
Не, на реакт навигэйшн я не вернусь )
The Max
Посоны, чо там когда 0.59 с нормальным JSC на ведроид выйдет, известно?
Alexandr
Alexandr
Всем привет) У меня такая проблема, мне надо менять положение картинки на экране и в стейте менять саму свг картинку. Картинку меняю в componentDidMount () с помошью setInterval. Но это тормозит рендер перемещений по экрану. Кто-то знает, как можно заменить setInterval и setTimeout, чтобы убрать зависания? На видео видно, как оно хуево работает
Dmitry
какой смысл велосипедить, если это просто анимированная картинка должна быть
Dmitry
Dmitry
lf
Dmitry
да
Dmitry
наврал
Dmitry
он пытается выдернуть key с итема
Alexandr
пусть тебе анимацию нарисуют
Сам бы так хотел или использовать lotie для рисования анимации. Но пока просто имею список свг((
Vadim
РНН до сих пор на 0.56 РН?
"react-native": "0.57.7",
Gena
он пытается выдернуть key с итема
Ага... только я вот сейчас пытался найти это в коде... и там опять это легаси их вечное: https://github.com/facebook/react-native/blob/0.58-stable/Libraries/Lists/VirtualizedList.js#L437
Gena
Я тоже с документации это помню... но в коде странное, у меня всё больше желания переписать Virtualized для работы с mobx
Dmitry
а у меня главный вопрос почему он виртуальный только местами
Gena
Ну он только в начале не виртуальный... Это видимо, чтоб переход в начало хотя бы всегда работал ну и ещё там рендер упрощается немного.
Gena
На самом деле, это всё потому что простой компонент базируется на сложном, а надо наоборот ))) Надо чтоб был супер-оптимизированный одноколоночный список без всяких секций и отдельно чуть менее специфичные варианты... а у них один Virtualized, который может всё, и на его основе компоненты, которые только выглядят простыми
Dmitry
я бы хотел иметь возможность фильтрации данных с сохранением функционала виртуализации. Допустим, есть список 1000 элементов. На старте он нормально отрисовывается и на экране мы видим 10 элементов. Далее, его фильтруем до 1 элемента (это происходит достаточно быстро), а потом снимаем фильтр и возращаем все 1000 (что уже не так быстро). А ведь на экране я вижу на момент включения фильра только 10 элементов.
Dmitry
И тут мысль, надо делать снапшот видимых элементов
Dmitry
и восстанавливать сначала снапшот, а потом подмерживать остальные данные
엑시
Вопрос, есть ли ща в RN версии 0.58 поддержка для iOS UITableView и UISearchController или в RN какие-то свои компоненты?
Gena
и восстанавливать сначала снапшот, а потом подмерживать остальные данные
ээ... не так всё просто... вы такой компонент можете себе сделать, но как универсальный это не будет работать, т.к. фильтр может не убраться, а поменяться... Мне кажется там проблема в том, что ему приходится при текущей архитектуре "проверить" все элементы входного массива - он же типа pure... Но точно это понять я смогу только когда переписывать начну (я как раз надеюсь на более точечные обновления из mobx 😃)
Dmitry
может я и доберусь до попытки, что-то такое реализовать
Gena
Вопрос, есть ли ща в RN версии 0.58 поддержка для iOS UITableView и UISearchController или в RN какие-то свои компоненты?
UITableView nочно нет. По слухам есть какой-то китаец, который смог его интегрировать, но я в это мало верю )
Dmitry
Идея была в том, что данные в списках обновляются реалтайм каждые пару секунд и нет смысла обновлять тем элементы, которых не видно на экране
Dmitry
в итоге из 100000 элементов обновляются всегда 10 видимых
Gena
Интересный вариант, я до таких оптимизаций пока не доходил, но да может иметь смысл при определенных условиях.
Gena
а с Android также там поддерживается RecyclerView ?
Да нет же, это супер-оптимизированные компоненты, которые не ложатся нормально в многопоточную архитектуру RN. В RN есть свои решения, может быть не такие производительные, но в большинстве случаев удовлетворительно работающие. К примеру обсуждаемый выше FlatList
Dmitry
Dmitry
если их все равно не видно
Dmitry
конечно, если в списке <1000 элементов, то это не играет особой роли
Taras
ребята, а как в персисторе сохранять одно поле с всего стейта редюсера?
Preeternal
White list
Taras
нужен не весь стейт редюсеров а одно поле с одного редюсера
Taras
один ключ
Dmitry
Dmitry
Которые позволяют это делать
invariance
Народ, юзаю такой код: import InputMask from 'react-input-mask'; class PhoneInput extends React.Component { render() { return <InputMask {...this.props} mask="+4\9 99 999 99" maskChar=" " />; } } InputMask 100% есть. Но на вот этой строке return <InputMask {...this.props} mask="+4\9 99 999 99" maskChar=" " />; пишет что View config not found for name input, в чем может быть проблема?
Dmitry
А нечего что это реакт?