Vladimir
Телеграмм клиент опенсорсный
Vladimir
Можешь к сорцам обратиться
Vladimir
Бесплатно
Alexey
Владимир, я имею ввиду TLib библиотеку. Как сделать клиент на реакте с помощью tdlib?
Alexey
Спасибо, друзья. Хотел принцип понять, как должно работать
sanqa
парни а жизненый цикл такой же как в реакте ?
sanqa
ну в плане названий методов, а то найти не могу
Vlad
Да
Vlad
Такой же
sanqa
подскажите тогда что не так componentDidMount() { axios.get('http://localhost:3000/products') .then(response => { var list = response.products; }) .catch(function (error) { console.log(error); }); } и в eturn ( <List containerStyle={{ marginBottom: 20 }}> { list.map((l, i) => ( <ListItem key={i} title={l.title} /> )) } </List> ) пишут что list undefined
sanqa
а не не андефайнед, а cat not variable list
sanqa
async componentDidMount() { let list = await axios.get('http://localhost:3000/products'); this.setState({ list: list })
sanqa
хз в чем проблема
Anonymous
state у тебя какой?
Владимир
а не не андефайнед, а cat not variable list
потому что лист определен в функции, а вызываешь ты его в рендерн
sanqa
так сет стейт должен же перерисовывать рендер
Anonymous
А, точно)
Anonymous
this.state.list )) при вызове в рендере
Владимир
сделай хоть this.setState({list})
Владимир
и var list = this.state.list
sanqa
this.state = { list: [] }
Anonymous
Ты вызываешь не правильно переменную list, а так же не юзай var, лучше используй let или const
Владимир
а в рендере переменную list он откуда возьмет?
Anonymous
this.state.list (в state у него есть list )
sanqa
this.state.list.map((l, i) => ( <ListItem key={i} title={l.title} /> ))
Anonymous
Угу, для более корректного вида кода, перед return можно сделать: const { list } = this.state;
sanqa
вообщем вот весь код, ошибки щас не получаю но и item не мапятся
Anonymous
и уже использовать list
sanqa
Anonymous
А что у тебя с map творится)?
sanqa
тоесть
Anonymous
map((l, i))
Andrey
Парни, есть какой-то смысл притаскивать styled-components на проект с реакт нейтивом или это излишний оверхед?
sanqa
а
Дмитрий
Жесть, конечно... и на последок в try-блок надо обуть await, а не setState.
Vit
Если честно авэйтами лучше не пользоваться если важен перехват фэйла
Vit
Ну просто тупо гимора больше чем при .then().catch()
Anonymous
Там данные же прилетают, проще async/await, чтобы код был линейным
Vit
Асинк авэйт рулит если нужен результат или хрен с ним. Maybe
Eugene
Всем привет, есть приложение RN+redux+redux-saga. Когда диспатчится экшн в стор тормозит анимация. В чём проблема может быть? Приложена разрослась уже, а вот эти подтормаживала я всё портят, если честно (
Vit
Еще прикольнее не промизами а футурами пользоваться
Vit
https://github.com/fluture-js/Fluture
Anonymous
спасибо, посмотрю
Vit
Это как бы ленивые промисы
Danil
Всем привет. Решил таки влиться в React Native. Все здорово, все классно, но есть одно но. Сотни, нет, тысячи 3rd party модулей. Хочешь роуты для скринов? Иди выбирай среди десятка разных. Компоненты? Снова вали и сравнивай. Подскажите, плиз, может есть какие-то относительно каноничные для начинающего наборы модулей для одного, второго, третьего, чтобы с выбором не сидеть часами?
Danil
Благодарю
Alexander
Есть нормальные orm для sqllite под expo? Пока наткнулся на Exem, но он очень сырой
Ivan
Ребят, как буд-то для себя кидаю ссылку)
Ivan
http://prntscr.com/i9uvpi
Dmitry
Всем привет, а не подскажете, какой сейчас андроид емулятор норм? кроме android studio, я раньше пользовался genyumotion, но теперь у них нет бесплатной лицензии
Ivan
Реальный девайс)
Dmitry
да это был бы лучший вариант 🙂
sanqa
нет и я решил проблему
Vlad
Ребят, использую parallax-swiper. Когда ввожу данные, слайд двигается, но он последний. Никто не сталкивался?
Ivan
Блокируй скролл, когда слайд последний
Vlad
окей, спасибо за подсказку
Sergey
Ни у кого нет такой вот флоу ошибки если сделать свежий react-native init Error: node_modules/react-native/Libraries/Components/ScrollResponder.js:480 480: var { animated, ...rect } = rect; ^^^^^^^ rect. This type is incompatible with 472: rect: { x: number, y: number, width: number, height: number, animated?: boolean }, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ object type Property `animated` is incompatible: 472: rect: { x: number, y: number, width: number, height: number, animated?: boolean }, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ property `animated`. Property not found in 480: var { animated, ...rect } = rect; ^^^^^^^ rect
Sergey
Советуют игнорить просто весь react-native как any - https://github.com/facebook/flow/issues/5568
Sergey
Может есть какая-то версия flow + react-native рабочая, чтобы не игнорить вот так?
Sergey
О догнал, можно более специфично [untyped] .*/node_modules/react-native/Libraries/Components/ScrollResponder
Sergey
Ts хорошая попытка, но нет)
Anton
Flow лучше?
Ivan
Если проект с нуля - TS однозначно. Если уже много написао - Flow легче подключить.
Anton
при этом всё равно надо же будет типы прописывать?
Anton
только в тот же JS/ES6
Ivan
Для этого его и подключают.
Ivan
Лучше писать интерфейсы т.к. они транспилятся в ничего.
Ivan
И существуют только на этапе компиляции
Anton
Есть вопросы про FlatList: использую этот контрол для показа списка постеров в виде грида. В зависимости от ориентации экрана влезает либо 2 либо 3 постера в один ряд. Вопросы в следующем: 1) есть ли способ автоматически размещать айтемы листа так, чтобы они заполняли всю строку, кроме как рассчитывать число колонок в onLayout родительского компонента и подгонять пропорционально размеры айтема и прокидывать эти параметры в стейт, чтобы лист перерисовался? 2) как прокрутить получившийся грид до нужного айтема сразу при создании? Пробовал использовать initialScrollIndex, но почему происходит 2 прокрутки - сначала на N строк вниз, затем корректировка на N/число колонок.
Alexander
Кто-нибудь работал с kitten-ui?