Vladimir
Телеграмм клиент опенсорсный
Vladimir
Можешь к сорцам обратиться
Vladimir
Бесплатно
Ilya
Alexey
Владимир, я имею ввиду TLib библиотеку. Как сделать клиент на реакте с помощью tdlib?
Alexey
Спасибо, друзья. Хотел принцип понять, как должно работать
Artur
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
Anonymous
sanqa
async componentDidMount() {
let list = await axios.get('http://localhost:3000/products');
this.setState({
list: list
})
sanqa
хз в чем проблема
Anonymous
state у тебя какой?
Anonymous
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
Anonymous
спасибо, посмотрю
Vit
Это как бы ленивые промисы
Vladyslav
Danil
Всем привет. Решил таки влиться в React Native. Все здорово, все классно, но есть одно но. Сотни, нет, тысячи 3rd party модулей. Хочешь роуты для скринов? Иди выбирай среди десятка разных. Компоненты? Снова вали и сравнивай. Подскажите, плиз, может есть какие-то относительно каноничные для начинающего наборы модулей для одного, второго, третьего, чтобы с выбором не сидеть часами?
Ivan
Danil
Благодарю
Alexander
Есть нормальные orm для sqllite под expo? Пока наткнулся на Exem, но он очень сырой
Ivan
Ребят, как буд-то для себя кидаю ссылку)
Ivan
http://prntscr.com/i9uvpi
Dmitry
Всем привет, а не подскажете, какой сейчас андроид емулятор норм? кроме android studio, я раньше пользовался genyumotion, но теперь у них нет бесплатной лицензии
Ivan
Реальный девайс)
Dmitry
да это был бы лучший вариант 🙂
sanqa
Vlad
Ребят, использую parallax-swiper. Когда ввожу данные, слайд двигается, но он последний. Никто не сталкивался?
Ivan
Блокируй скролл, когда слайд последний
Vlad
окей, спасибо за подсказку
Nick
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
Anton
Ни у кого нет такой вот флоу ошибки если сделать свежий 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
Прикрутил TS - для RN есть тайпинги. Получилось довольно удобно.
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?