kuanysh anuarkhanov
всем привет!
kuanysh anuarkhanov
я дилетант в реакте React у компонента есть объект state можно задать initial state допустим в конструкторе this.state = { name: 'Petya' } и есть setState({ age: 25 }) теперь state = { name: 'Petya', age: 25 } и когда state меняется компонент делает re-render? когда меняется весь state (ссылка) или хотя бы один из его проперти?
kuanysh anuarkhanov
this.state = {} тоже?
Eugene
this.state = {} тоже?
this.state = { name: 'Pettya', age: null }
kuanysh anuarkhanov
я про re-render
Eugene
а так не задастся стейт
Eugene
this.setState({ age: 25 })
kuanysh anuarkhanov
this.setState({})
Anton
Из документации setState() will always lead to a re-render unless shouldComponentUpdate() returns false. If mutable objects are being used and conditional rendering logic cannot be implemented in shouldComponentUpdate(), calling setState() only when the new state differs from the previous state will avoid unnecessary re-renders.
Александр
ребята, кто нибудь большое приложение разрабаьтывал и запускал на маркет? интересно насколько сложно и долго?
Vit
не, никого таких ты чо
Vit
так чисто, ковыряем, для интересу
Ololo
а в билде например IOS выполняется JS код?
Ololo
или мы имем билд чисто нативного кода7
Ololo
Выполняется.
а есть какая то ссылка, что бы почитать об этом
Gena
а есть какая то ссылка, что бы почитать об этом
Смотря что интересно. Были статьи и презентации, много... но я обычно вот это читаю: https://github.com/facebook/react-native/blob/master/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h Поэтому может ещё кто подскажет
Ololo
а за счет чего js там работает? мы грузим v8 в билде?
Gena
Нет, там сейчас так. В Android используется встроенный в приложение JavaScriptCore. А в iOS общедоступный (по моему начиная с iOS8 ) системный фреймворк этого же движка.
Gena
В обоих, насколько я знаю выключен JIT. В iOS, по правилам Apple, в Android не знаю точно почему, возможно собирать такой билд сложнее.
Gena
На iOS JS environment зависит таким образом от версии iOS. На андроид сейчас используюется довольно старая версия JSC, но идут работы по апгрейду так что всякие Proxy и NumberFormat будут поддерживаться
Ololo
спасибо, а я вот думал мы получаем полностью нативный код, без js
Gena
Нет, к сожалению (или к счастью, я ещё не понял для себя) ))))
Ololo
блин, мне кажеться это стандартный вопрос для rn разраба, но я даже ответ особо нагуглить не могу, что бы почитать про эти вроде как тонкости
Ololo
это в доке есть)) https://facebook.github.io/react-native/docs/javascript-environment
In most cases меня вот это тут смутило, читал
Aleksei
In most cases меня вот это тут смутило, читал
это потому что второй пункт есть)
Ololo
это потому что второй пункт есть)
When using React Native я просто думал что это относится именно к разработке, а не к билду
Артем
Всем привет, как доставать информацию о контактах в телефоне?
Serhii
Всем привет, как доставать информацию о контактах в телефоне?
https://google.gik-team.com/?q=react+native+get+contacts )) https://github.com/rt2zz/react-native-contacts
Артем
https://google.gik-team.com/?q=react+native+get+contacts )) https://github.com/rt2zz/react-native-contacts
), там не очень понятно как пользоваться этим
Артем
по первой ссылке
Артем
я вот подумал, может у кого есть более понятная инфа
Serhii
), там не очень понятно как пользоваться этим
а что именно ? import Contacts from 'react-native-contacts'; Contacts.getAll((err, contacts) => { if (err) throw err; // contacts returned console.log(contacts) }) вроде все ясно?
Артем
с этим у меня приложение не запускается)
Serhii
значит неправильно залинковал
Evgeniy
с этим у меня приложение не запускается)
а это делал? https://github.com/rt2zz/react-native-contacts#installation
Артем
ну да)
Serhii
попробуй Manual
George
Не удалять не могу. У меня тысячи элементов в списке. Производительность страдает. iphone 8 умирает на 1200 элементах(точнее этот скрин умирает)
Очень помогает делать Layout для каждого элемента и внимательно следить чтобы все были PureComponents.
Yurii
Очень помогает делать Layout для каждого элемента и внимательно следить чтобы все были PureComponents.
Спасибо за совет! Я уже перечитал кучу статей на эту тему. И многое поробовал. Но все равно FlatList какойто жирный получился у меня.
Dmitry
Допустим умения компонент, который рисует ButtonList из массива кнопок, переданного в пропсах. Внутри компонента я их клонирую навешивая ещё пропсов, как мне правильнее описать тип этого массива, чтобы та ожидались именно компоненты с onPress, а не все подряд?
Dmitry
Или не заморачиваться и сделать просто Array<any>
Anton
interface MyProps extends ButtonListProps { myprop: string; } Array<MyProps>
Danil
а можно как-то получить размеры у Animated.ScrollView ?
Danil
у AnimatedComponent нет метода measure
Danil
Stas
animated._component.measure
Stas
_component - это ref на обeрнутый в Animated компонент
Stas
Вопрос по железкам, кто-то использует для разработки макбук про 15 2015 года и выше? Эти ноутбуки тянут несколько эмуляторов андройда и ios + все остальное? Не чувствуется тормозов? Насколько долго компилируется проект реакт натив с нуля?
Dmitry
Я заметил, что симуляторы iphone X и более новых тупят сильнее, чем Iphone < 8
Dmitry
причем это реально заметно
Dmitry
но у меня не вызвает труда запустить пару симулятор, чтобы потестить реалтайм
Stas
То есть, анимация все равно не плавная даже на новых компах?
Dmitry
То есть, анимация все равно не плавная даже на новых компах?
ну у симуляторов есть огрехи, сегодня я гонял дебаг через девайс и это заметно быстрее
Dr
Всем привет. Может кто-нибудь недавно разбирался с логином через фейсбук? У меня всегда возвращает Login faild. Версия sdk 4.39. Читал что вроде в 39 баг какой-то, ставил 38, тоже не помогло. Есть подозрение что приложение в фейсбуке нужно заапрувить. Но как это сделать, выполняешь все пункты настроек и в конце только кнопка Назад
Dr
А как приложение на фейсбуке апрувили?
Gena
А как приложение на фейсбуке апрувили?
Не я делал, завтра уточню этот вопрос и отпишусь (если забуду - стукнитесь в личку, ок?)
Dr
Ок, спасибо. Уже просто не знаю что еще попробовать. Все по мануалам и всегда одна и та же ошибка
Dmitry
Пришло мне сейчас письмо от apple, что у меня на ноуте жесткий дефектует. Типа привозите его в авторизованный центр и мы бесплатно его исправим
amr
تي
Danil
Danil
как реализовать прозрачность такую же как над ART?
Никита
как реализовать прозрачность такую же как над ART?
Мы всегда png вставляем в таком случае. Можно градиент подключить но не вижу минусов в решении с картинкой. Ну кроме того что глупо звучит
Anonymous
Какую либу лучше заюзать, мне нужно сделать карусель из компонентов
Gena
как реализовать прозрачность такую же как над ART?
https://github.com/react-native-community/react-native-blur (мы его не использовали раньше из-за того, что на android не работал, но сейчас гляжу - вроде заявлена частичная поддержка)
Никита
фон блюр, это да. Либу кидали выше, у меня работала на андроиде, но не без проблем. Основной момент - она блюрит дочерние компоненты, а не те что под ней, это стоит учитывать png решает задачу плавного исчезновения элементов по краям
Никита
Никита
вот такой например
Никита
верхняя часть видна полностью, а низ постепенно перекрывается
Никита
но нужно знать каким цветом перекрывается, а блюр ломает эту схему. Сразу не обратил на него внимания
Никита
Можно пытаться использовать градиентный текст, но больно много возни будет
Gena
фон блюр, это да. Либу кидали выше, у меня работала на андроиде, но не без проблем. Основной момент - она блюрит дочерние компоненты, а не те что под ней, это стоит учитывать png решает задачу плавного исчезновения элементов по краям
Серьёзно про дочерние? Это ведь значит, что её не эффективно для всяких модальных вещей использовать, где надо весь экран заблюрить... А я уже нацелился ставить и тестировать... :-(
Никита
ну так было полгода-год назад вроде, возможно я не прав