I
Сообщения прочитай, потом говори
Alex
вот ты на каждой строчке можешь брейкпоинт поставить?
аналогичная проблема, приходится иногда код так править, чтобы брейкпоинт все же подхватился
Mikhail
Привет всем, подскажите что я делаю не так, создал пустой массив players, добавляю в него итемы и передаю этот массив в FlatList, так вот если массив пустой то он не отображает новые добавленные итемы, но если там есть хоть одно значение то всё работает ок, вот ключевые моменты кода как сейчас всё устроено: https://gist.github.com/anonymous/6d7e930af3dd2f4472478edb6c9b10c8
Kyrylo
во первых не мутируй стейт так this.state.players.push
Mikhail
Хм, а как лучше? Других вариантов просто не знаю
Kyrylo
this.setState({players: [...this.state.players, {name: this.state.name, score: 500, id: this.state.players.length + 1}]})
Kyrylo
только через setState
Aleksei
https://facebook.github.io/react-native/docs/flatlist.html#extradata
Junior
Кто-нибудь интегрировал rn с нативными андроид аппками?
Kirill
кто-нибудь использует universal links? В ios 11 у вас работают?
Junior
Утра доброго
Kyrylo
this.setState({players: [...this.state.players, {name: this.state.name, score: 500, id: this.state.players.length + 1}]})
Если так не нравится, то хотябы так const {players, name} = this.state; players.push({name: name, score: 500, id: players.length + 1}); this.setState({players});
Kyrylo
так даже лучше. гг
Mikhail
так даже лучше. гг
Спасибо, а чем плох мой вариант?
Kyrylo
https://facebook.github.io/react/docs/state-and-lifecycle.html#using-state-correctly
Kyrylo
Do Not Modify State Directly
Kirill
так даже лучше. гг
что-то мне подсказывает что не лучше. players.push - и есть "прямое" изменение стейта
Kyrylo
Ну вот да, без пуша надо. Ты абсолютно прав
Mikhail
Но тогда другой вопрос почему если мой массив был не пустым при инициализвации, то даже вариаент с push работал?
Kyrylo
Та фиг его знает 🙂 Но разбираться в этом мало смысла. Так как этот вариант не правильных, хоть и работает.
Andrey
ребят, а кто как решил проблему с динамическими шрифтами? например, пользователь в настройках айфона увеличил шрифты, или уменьшил, и весь дизайн рушится
Kyrylo
Ну качествтвенная адаптивная верстка помогает решить эту проблему, хотя интерфейс билдер тут разрывает RN в пух и прах.
Kyrylo
constraints
Kyrylo
например
Kyrylo
очень сильный тул
Aleksei
ну такое, это просто другой подход
Kyrylo
ну флексбокс слабее
Aleksei
я бы так не сказал
Aleksei
что может автолэйаут чего не может флексбокс?
Kyrylo
ну я спорить не буду. Обы инструмента работают. Но вот именно адаптивные части делать удобнее, даже не столько удобнее, сколько понятнее и очевиднее. Да, у флексбокса есть трюк с margin-[left|rigth]: auto. Но сколько людей о нем знает? есть self-align но он тоже не всегда очевидно работает. Ну то есть если ты хорошо знаешь флексбокс - то они наверно равны.
Kyrylo
как-то так
Aleksei
автолэйаут тоже нифига не очевидный, его долго раскуривать надо
Kyrylo
что за трюк?
если тебе надо айтемы раскидать по разным сторонам например |item1 item2 item3 item4 item5| То для item4 можно задать margin-left: auto и он и последующие прибьются к концу строки
Kirill
а если ему flex: 1 задать разве не то же самое?
Kyrylo
неа
Kyrylo
он не будет растянут
Kyrylo
например если у айтемов есть бэк
Max
Кирилл https://habrahabr.ru/post/329820/ Margin обладает особыми силами
Kyrylo
Junior
Парни, в нативной аппке нужно отобразить несколько RN бандлов на одной активности. Создаю для этого несколько react root view и указываю там имя бандла и appregesty из него. Если я сделаю в одном бандле несколько appregistry, то все будет работать и отображать разные компоненты, в зависимости от указанного в appregistry класса, но если я указываю в react root view другой нужный мне бандл, аппка падает. Кто-нибудь знает в чем может быть проблема?
Kyrylo
Albert
Junior
Ну я пытался максимально понятно объяснить
Kyrylo
объяснил вроде понятно. Но зачем? 🙂
Junior
Так нужно
Kyrylo
я думаю такое поведение не предусмотрено
Kyrylo
но это не точно
Junior
Я не могу разместить несколько бандлов на одной активности? Вроде как должна быть возможность
Mikhail
https://blog.bam.tech/developper-news/10-tips-to-integrate-react-native-in-an-existing-application Пункт 9, не про твою ситуацию?
Junior
https://blog.bam.tech/developper-news/10-tips-to-integrate-react-native-in-an-existing-application Пункт 9, не про твою ситуацию?
Да, так работает, но тут один бандл в котором разные appregestry, а мне нужно, чтобы бандлы были разные
Mikhail
Т.е. 2 rn проекта в одном нативном приложении?
Junior
Да
Junior
Т. Е. Я при запуске передаю в react root view react instance manager. В нем же я и указываю имя основного js файла
Junior
Если создать ещё один, с этим же файлом, то все работает. Если создавать с другим, то аппка падает
Junior
Влод
Ulad🧑‍💻
Как бороться с этим в RN "../../../i18n/ru";?
Ulad🧑‍💻
Тут же вебпака нету, вот не могу придумать
Aleksei
Тут же вебпака нету, вот не могу придумать
есть бабель, а у бабеля есть алиасы
Ulad🧑‍💻
Спасибо
Ulad🧑‍💻
https://github.com/tleunen/babel-plugin-module-resolver эта штука?
Ulad🧑‍💻
Нашёл довльно таки много пакетов
Влод
редкое? В хорошем мире живете 🙂
Ну типа постоянно иконки рисуются по краям текста. Отцентрованы по его высоте
Влод
Но это динамический текст. Там в любом случае нужно все состояния посмотреть
Влод
Возможно ты ещё считаешь размеры вьюхи по фиксированным размерам кегля но это вообще ад
Kyrylo
но все остальное рисуется без учета размера этого текста и ингода очень нелепо.
Kyrylo
в тему разговора
Kyrylo
https://twitter.com/extractor/status/910454135870410752
Aleksei
https://twitter.com/extractor/status/910454135870410752
вот тебе и автолейаут 😂
Kyrylo
это цсс же