Serhii
индексы не рекомендуют использовать если порядок элементов в масиве може менятся
если это статический список элементов то проблем не будет
Игорь
ребят, а что нужно, чтобы пр клике на кнопку отобразить другую вьюшку?
к примеру есть компонент Login, там клик на кнопку и меняется экран на компонент Home
как так сделать?
что нужно использовать?
Serhii
Andrey
может при заполнении массива добавлять ключ к каждому элементу при помощи Math.random?
Serhii
Andrey
а сортировка тогда как?
Serhii
Andrey
дело в том что элементы списка могут быть уникальными и одинаковыми
Andrey
я сканирую штрих-код, отправляю его на бэк и получаю данные товара
Andrey
товар может быть одинаковый)
Andrey
вводить количество товара заказчик посчитал слишком ненадежной функцией исходя из криворукости работников склада
Dmitry
лучше тогда уже индекс
индекс используется во FlatList по умолчанию, с тем же успехом можно не объявлять keyExtractor
Dmitry
Serhii
Andrey
конечно бэкенд добавляет, но айди ж конкретного товара, а если товар одинаков то и айди...
Serhii
товар может быть одинаковый)
я вас не совсем понимаю
смысл тогда отправлять несколько товаров если они идентичны
можете показать как выглядит масив?
Serhii
Dmitry
Andrey
@Bemaverick флетлист, представте перед вами лежит пять коробок с одинаковыми тапками, сканим по очереди штрихкоды и каждый раз наблюдаем как растет список тапок на экране
Serhii
Andrey
тапок найк модель эйр размер 43 - все такие тапки с одинаковым штрихкодом будут
Dmitry
Andrey
нет
Vadim
Я не могу понять, в react-native-navigation можно вот так сделать?
Vadim
Vadim
В ишьюсах вижу, что вроде у людей работает, но не понимаю как это настроить.
Vadim
Речь про скрывающийся largeTitle
Andrey
Vadim в реакт навигэйшн делал похожее)
Preeternal
The Max
Посоны, чо там когда 0.59 с нормальным JSC на ведроид выйдет, известно?
Alexandr
Alexandr
Всем привет) У меня такая проблема, мне надо менять положение картинки на экране и в стейте менять саму свг картинку. Картинку меняю в componentDidMount () с помошью setInterval. Но это тормозит рендер перемещений по экрану. Кто-то знает, как можно заменить setInterval и setTimeout, чтобы убрать зависания? На видео видно, как оно хуево работает
Dmitry
Dmitry
какой смысл велосипедить, если это просто анимированная картинка должна быть
Gena
Dmitry
Dmitry
lf
Dmitry
да
Dmitry
наврал
Dmitry
он пытается выдернуть key с итема
Gena
он пытается выдернуть key с итема
Ага... только я вот сейчас пытался найти это в коде... и там опять это легаси их вечное: https://github.com/facebook/react-native/blob/0.58-stable/Libraries/Lists/VirtualizedList.js#L437
Dmitry
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
Dmitry
может я и доберусь до попытки, что-то такое реализовать
Gena
엑시
Dmitry
Dmitry
Идея была в том, что данные в списках обновляются реалтайм каждые пару секунд и нет смысла обновлять тем элементы, которых не видно на экране
Dmitry
в итоге из 100000 элементов обновляются всегда 10 видимых
Gena
Интересный вариант, я до таких оптимизаций пока не доходил, но да может иметь смысл при определенных условиях.
엑시
Gena
а с Android также там поддерживается RecyclerView ?
Да нет же, это супер-оптимизированные компоненты, которые не ложатся нормально в многопоточную архитектуру RN. В RN есть свои решения, может быть не такие производительные, но в большинстве случаев удовлетворительно работающие. К примеру обсуждаемый выше FlatList
Dmitry
Dmitry
если их все равно не видно
Vadim
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
А нечего что это реакт?