Серега
знаю, но так заморочек больше
Заморочек нет, просто чуть больше кода.. и гибкость
Irakliy
придётся в список роутов тащить компонент
Irakliy
ради одного экрана - такое себе
Серега
придётся в список роутов тащить компонент
Ты не забывай что кроме кнопки еще свайпы
Irakliy
Ты не забывай что кроме кнопки еще свайпы
кажется я себе только что лицо фейспалмом разбил. Про свайп то я забыл
Серега
Там помоему есть обработчики событий навигации, посмотри в эту сторону
Oleg
Всем привет, я только перехожу с React на React Native, можете посоветовать с чего начать учить всё?
Oleg
С helloworld)) если реакт знаешь, то проблем быть не должно
Год опыта на реакте коммерческого, начальник говорит мол в довесок java учи, верный ли подход?
Серега
Всем привет, я только перехожу с React на React Native, можете посоветовать с чего начать учить всё?
Только не бери последний релиз rn, а то некоторые сторонние библиотеки будут криво работать.. возьми какой нить 0.60.* например
Серега
Год опыта на реакте коммерческого, начальник говорит мол в довесок java учи, верный ли подход?
Если времени вагон, то почему нет. А так для rn и без java можно вполне обойтись
Серега
Благо комьюнити большое и оч много библиотек готовых
Серега
И выбей Mac из начальника)))
Серега
Если еще нет
Kamo
Как в RN-0.60/0.61 передавать параметры в конструкторы Package-ей на Андроиде? До 60-й версии все package-и указывались в MainApplication вручную и можно было передать всё, что угодно. А теперь с автолинкингом package list создаётся в compile time с конструкторами по умолчанию
Никита
ну я бы делал так как выше написал. Это в случае если в пакет требуется передать application
Demuz
Привет всем. Проблема есть, new Date() всегда отображает нулевой часовой пояс, это не верно, хотя локализация и все такое показывает пояс +5. Как можно не сдвигать часовой пояс после каждого использования new Date(), а сдвинуть его глобально? При работе в браузере в JS, new Date() отображает верный часовой пояс, а при вызове в приложении на RN - нет.
Kevin
Кто-нибудь в курсе насчёт планов проекта expo по добавлению всяких компонентов, которые выкидываются из основного дерева RN в рамках Lean Core вроде того же дейтпикера? А то они все нативные и без эджекта не поставишь, а упоминаний в ишью даже не видно
Aleksandr
Привет. Я рассматриваю решения для проектирования API. Пожалуйста расскажите что более важно для вас в проектировании API ? Опрос займёт не более 2 минут. Спасибо! По ссылке будет google form: https://forms.gle/PkCiufh6B5cmvHUS8
Irakliy
@gblack9
Gena
Привет всем. Проблема есть, new Date() всегда отображает нулевой часовой пояс, это не верно, хотя локализация и все такое показывает пояс +5. Как можно не сдвигать часовой пояс после каждого использования new Date(), а сдвинуть его глобально? При работе в браузере в JS, new Date() отображает верный часовой пояс, а при вызове в приложении на RN - нет.
А какая платформа? Что-то у меня вроде значение полученное из getTimezoneOffset() всё время адекватное (совпадает с настройками) и на Android и на iOS. По крайней мере везде, где на него завязано, всё работает. Вот в Android эмуляторе сейчас проверил на всякий случай: "I/ReactNativeJS: 'TZ OFFSET', -180"
Eli
Привет, ребята! Наверноое много кто использует strapi на backend? Если несложно upvote плиз для этого PR, работал над ним неделю — пригодится вам в переносе старых проектов клиента, на ES6! https://github.com/strapi/strapi/pull/4163
TK
Здравствуйте
TK
у меня в store есть переменная со значением , как мне вывести это значение в поле на своей главной странице?я про 36 строку
SᑎOᙖOᖇᑎ
привет питаюсь поставить красиво два пикера один возле второго, но ничего не получаеться вечно что то уезжает получаеться отпозиционировать только один ет прикол в с ними такой или я туплю?
Gena
MacOs и на Android и на iOS эмуляторах выдают неправильное значениее, на реальных девайсах тоже самое.
Ну вот я там написал, что мне на Android эмуляторе выдало. Я для этого такой код вставил прям на старте: console.log('TZ OFFSET', new Date().getTimezoneOffset()) А у тебя какой код дает неправильный результат (меня ещё смущает разговор о часовых поясах, оно всё же со смещениями работает, с самими зонами всё сильно плохо у JS)
Demuz
Просто не хотелось бы везде через moment делать tz сдвиг
Gena
Реальная tz +5, а везде -5 показывает почему-то
Так это правильно, там просто timezoneOffset инвертирован: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset#Description
Gena
> Note that this means that the offset is positive if the local timezone is behind UTC and negative if it is ahead.
Demuz
Это ладно, а почему new Date() выдает неправильное время? Это постоянно калькулировать new Date() + getTimeZoneOffset?
Gena
Это ладно, а почему new Date() выдает неправильное время? Это постоянно калькулировать new Date() + getTimeZoneOffset?
Почему неправильное? Можно пример кода? (Просто в JS объекты Date репрезентуют локальное время у клиента, поэтому показывать их и использовать на клиенте можно как есть, а вот отправлять на сервер скорей всего лучше либо в полном формате со смещением, либо в UTC, ну и то, что от сервера приходит парсить соответственно)
Irakliy
а чем так плоха moment?
Gena
Я просто отказался от использования momentjs некоторое время назад - ибо медленно, особенно парсинг большого кол-ва объектов. Для сериализации и вычислений написал свои ф-ции, а для вывода на экран по русски взял date-fns.
Gena
Т.е. весь парсер данных от сервера сейчас так выглядит: const datetimeRegex = /^(\d+)-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2}(?:\.\d+)?)Z$/ export function parseISO(date: string): number { if (typeof date !== 'string') return NaN const res = date.match(datetimeRegex) if (!res) return NaN if (res.length < 7) return NaN const remainder = Number(res[6]) const sec = Math.trunc(remainder) const msec = Math.round((remainder - sec) * 1000) const ret = Date.UTC( parseInt(res[1], 10), parseInt(res[2], 10) - 1, parseInt(res[3], 10), parseInt(res[4], 10), parseInt(res[5], 10), sec, msec, ) return ret }
Irakliy
Вот пример кода 'new Date()' - Сейчас время 15:29, а new Date() отобразит 10:29.
глупый вопрос, но всё же - на самом эмуляторе время правильно отображается?
Gena
console.log(new Date())
Вот выполнил на Android эмуляторе: console.log('CURRENT TIME', new Date()) Получил 'CURRENT TIME', Wed Oct 02 2019 13:33:56 GMT+0300 (MSK)
Gena
И таки действительно 13:33 в Москве в этот момент было
Demuz
Шахзод
ват
Вру )
Demuz
На любых платформах одинаково и на эмуляторах
Demuz
А на сайтах интерпретаторы JS выдают верный результат
Demuz
Нет. console.log() такой же часовой пояс выдает же
Oleksandr
Ребят подскажите многие ли из вас юзают expo ?
Aynur
тут только голосование проводить, но наверное большинство, кто пришел с веба
Gena
Нет. console.log() такой же часовой пояс выдает же
Ну, у меня везде работает как надо в приложении ) Что ещё могу сказать... если выяснишь, в чем проблема - напиши, пожалуйста... было бы интересно знать.
Demuz
Ребят подскажите многие ли из вас юзают expo ?
Я Expo юзаю. Но лучше голосование сделать 😁
Gena
Нет. console.log() такой же часовой пояс выдает же
Разве что убедиться, что Date - действительно системный Date...
Oleksandr
Narek
Wordpress
Demuz
Оба варианта тоже нужно
Demuz
Я и то и то юзаю 50/50
Dmitry
Wordpress
Что не Joomla
Alexey
я оба юзаю
Vetaly
Привет, нормальная тема добавлять стили в TouchableHighlight ? Примерная структура кода такая: <TouchableHighlight underlayColor={theme.list.highlightColor} style={[styles.container, { backgroundColor, height: cardHeight }]} onPress={this.onPress} onPressIn={this.onPressIn} onPressOut={this.onPressOut} > <View style={[ styles.columnContainer, { backgroundColor, shadowOpacity: 3, paddingBottom: this.props.isReminderExist ? reminderContainerHeight + 12 : 0, }, ]} > <View style={[ styles.reminderContainer, Я добавил стили в TouchableHighlight а их какого-то черта видно во вложенной вьюхе со стилями styles.reminderContainer. У этой вьюхи такие стили reminderContainer: { position: 'absolute', flexDirection: 'row', alignItems: 'center', paddingLeft: 10, bottom: 0, height: reminderContainerHeight, width: '100%', }, Второй вопрос, почему такое может быть?
Gena
неа
Давайте вместе посмотрим. Это не так сложно на самом деле и обычно, для меня это второй шаг после документации, если она себя исчерпала. Есть конечно сложные компоненты, но большинство простые, и тачибл лишь немного усложнены из-за диспатчинга эвентов и старых миксинов, в остальном они вполне читабельны ) Первое, что бросается в глаза, это комментарий (который должен быть и в доках), намекающий на то, что компонент "лезет" в ребенка (Модифицирует ноду после рендера): https://github.com/facebook/react-native/blob/0.60-stable/Libraries/Components/Touchable/TouchableHighlight.js#L72-L78 Читаем дальше: https://github.com/facebook/react-native/blob/0.60-stable/Libraries/Components/Touchable/TouchableHighlight.js#L439-L444 Ну да, так и есть, клонирует ребенка и добавляет к нему this.state.extraChildStyle (свои же стили ставит в отдельную вьюху, и добавляет туда this.state.extraUnderlayStyle) Ищем в файле места, где выставляется extraChildStyle в стейт и видим, что там только opacity. Всё остальное, если попадает в инспекторе в дочернюю вьюху - баг инспектора.
Sparkling
У меня есть приложение в google play, установленное оттуда на телефон. Когда я делаю react-native run-android с этим же самым телефоном то получаю: INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.appname signatures do not match previously installed version; ignoring! Есть ли какой-то способ обойти это не удаляя приложение каждый раз, чтобы не накручивать себе uninstalls в статистику? Есть идея переименовать его, закоммитить, а потом работать и в конце удалять коммит с переименованием, но слегка диковатым кажется.
Vetaly
Давайте вместе посмотрим. Это не так сложно на самом деле и обычно, для меня это второй шаг после документации, если она себя исчерпала. Есть конечно сложные компоненты, но большинство простые, и тачибл лишь немного усложнены из-за диспатчинга эвентов и старых миксинов, в остальном они вполне читабельны ) Первое, что бросается в глаза, это комментарий (который должен быть и в доках), намекающий на то, что компонент "лезет" в ребенка (Модифицирует ноду после рендера): https://github.com/facebook/react-native/blob/0.60-stable/Libraries/Components/Touchable/TouchableHighlight.js#L72-L78 Читаем дальше: https://github.com/facebook/react-native/blob/0.60-stable/Libraries/Components/Touchable/TouchableHighlight.js#L439-L444 Ну да, так и есть, клонирует ребенка и добавляет к нему this.state.extraChildStyle (свои же стили ставит в отдельную вьюху, и добавляет туда this.state.extraUnderlayStyle) Ищем в файле места, где выставляется extraChildStyle в стейт и видим, что там только opacity. Всё остальное, если попадает в инспекторе в дочернюю вьюху - баг инспектора.
Клёво, спасибо за развернутый ответ!!!!
Dmitry
а нет
Dmitry
это я не о том подумал
Sparkling
Посмотрите в сторону dev/staging/production, если ещё не поздно
физически тестировать на других устройствах, вы имеете ввиду? К сожалению у меня один телефон без вариантов, а держать версию прода у себя тоже интересно