Size: a a a

React Native — русскоговорящее сообщество

2020 May 17

sb

standing by in React Native — русскоговорящее сообщество
Gena Black
Заранее извиняюсь за брюзжание...
Вы – программист. Это к чему вопрос?
1. obj.firstName || 'default'
2. if (obj.firstName) ...
Лень писать?
3. function optionalString(val: string, default?: string) { return val || default || '' }
optionalString(obj.firstName)

Если про сахар всякий, типо чейнинга, то так и надо вопрос формулировать. Тогда как посоветовали выше, но имейте ввиду, что он пока не бесплатный, это транслируется бабелем в обычный код, соотвественно на выходе куча дублирования, распухание бандла, замедление загрузки.
Когда кода много, и не сильно требуется скорость думаю решение хорошее
источник

VP

Vitaliy Ponomarev in React Native — русскоговорящее сообщество
standing by
Когда кода много, и не сильно требуется скорость думаю решение хорошее
вот неплохой разбор как оно работает, какие плюсы/минусы и накладные расходы.

https://medium.com/devschacht/performance-of-javascript-optional-chaining-bf2a8aa99797

и про производительность в рантайме в статье стоит учитывать что это в chrome, при этом в jsc результаты могут быть другие.
источник

sb

standing by in React Native — русскоговорящее сообщество
Vitaliy Ponomarev
вот неплохой разбор как оно работает, какие плюсы/минусы и накладные расходы.

https://medium.com/devschacht/performance-of-javascript-optional-chaining-bf2a8aa99797

и про производительность в рантайме в статье стоит учитывать что это в chrome, при этом в jsc результаты могут быть другие.
Спасибо, понял что за штука
источник

GB

Gena Black in React Native — русскоговорящее сообщество
standing by
Когда кода много, и не сильно требуется скорость думаю решение хорошее
Фишка в том, что когда загрузка 15Мб бандла становится проблемой, уже поздно что-то менять, уже надо всё приложение переписывать, если этот момент заранее не мониторить. А ведь даже для очень крупного приложения размер бандла может быть на уровне 1-2Мб... при таком раскладе и кривой гермес не нужен.
Когда скорость обработки вызова API возвращающего пару тысяч объектов становится проблемой, уже сложно поменять редьюсер, надо переписывать его... А ведь в процессе разработки никто не ждал там тысяч объектов и просто писал .map, .reduce, .map, .sort, .forEach...
источник

D

Denis in React Native — русскоговорящее сообщество
Gena Black
Фишка в том, что когда загрузка 15Мб бандла становится проблемой, уже поздно что-то менять, уже надо всё приложение переписывать, если этот момент заранее не мониторить. А ведь даже для очень крупного приложения размер бандла может быть на уровне 1-2Мб... при таком раскладе и кривой гермес не нужен.
Когда скорость обработки вызова API возвращающего пару тысяч объектов становится проблемой, уже сложно поменять редьюсер, надо переписывать его... А ведь в процессе разработки никто не ждал там тысяч объектов и просто писал .map, .reduce, .map, .sort, .forEach...
Где можно посмотреть размер бандла? Имеется ввиду именно JS или уже собранный ipa и apk?
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Denis
Где можно посмотреть размер бандла? Имеется ввиду именно JS или уже собранный ipa и apk?
Можно собрать готовый ipa/apk, распаковать и глянуть, но я обычно вот так делаю:
npx react-native bundle --entry-file index.js --platform android --dev false --bundle-output bundle.js --sourcemap-output bundle.js.map --reset-cache

А дальше
source-map-explorer bundle.js
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Ну или npx source-map-exporer bundle.js, но я глобально его поставил - частенько нужен
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Соответственно для iOS: --platform ios
источник

U

Uxname in React Native — русскоговорящее сообщество
Кто знает зачем знак @ в офф доке по AsyncStorage указывают в ключе? Так принято где-то? Я чего-то не знаю?
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Uxname
Кто знает зачем знак @ в офф доке по AsyncStorage указывают в ключе? Так принято где-то? Я чего-то не знаю?
Нет, ничего специального... просто символ
источник

VT

Vlad Turchak in React Native — русскоговорящее сообщество
Всем привет)
Ребят, подскажите, делал приложение на expo понадобилось подключить Google Pay и Apple Pay, покурив доку я так понял мне нужно делать эджект на ExpoKit, я все правильно понял ?
источник
2020 May 18

LK

Levan Kvirkvelia in React Native — русскоговорящее сообщество
yo


почему

function Component(){

}
export defalut Component


лучше чем

export function Component(){

}
источник

s

sheykvit in React Native — русскоговорящее сообщество
Levan Kvirkvelia
yo


почему

function Component(){

}
export defalut Component


лучше чем

export function Component(){

}
А чем лучше?
источник

A

Alexander in React Native — русскоговорящее сообщество
Первое лучше только одним. Можно вставить обертки и отладку между объявлением и экспортом. Думаю больше ничем
источник

LK

Levan Kvirkvelia in React Native — русскоговорящее сообщество
sheykvit
А чем лучше?
Хз, все библиотеки используют дефолт
источник

LK

Levan Kvirkvelia in React Native — русскоговорящее сообщество
Словно я чего-то не понимаю
источник

S

Steve in React Native — русскоговорящее сообщество
Есть предложение из 12 слов, как отобразить его ровно по три слова в каждой линии? То есть нужно сделать 4 линии по три слова?
источник

NL

Night Lovell in React Native — русскоговорящее сообщество
Кто может помочь с Gifted-chat + redux?
источник

LK

Levan Kvirkvelia in React Native — русскоговорящее сообщество
Steve
Есть предложение из 12 слов, как отобразить его ровно по три слова в каждой линии? То есть нужно сделать 4 линии по три слова?
\n?
источник

S

Steve in React Native — русскоговорящее сообщество
Да, но как именно через каждые три это сделать?
источник