Это было не хорошее свидание

Как разница в движках javascript в режиме отладки и выпуска сильно повлияла на наше приложение React Native.

Когда мы работали над функцией в React Native, у нас возникла проблема. Очень распространенная проблема в IT-индустрии. Функция работает в режиме разработки или отладки. Он не работает над выпуском APK. Каждый раз, когда мы выпускаем релизную версию, команда тестирования продолжает говорить, что эта функция не работает.

После нескольких часов отладки и исследования проблема была обнаружена, и ее удалось исправить. И команда тестирования теперь счастлива, и мы можем двигаться вперед!

Проблема заключалась в создании объекта даты из средства выбора даты React Native Android.

В одной из наших функций ответ средства выбора даты был отформатирован в виде строки формата ГГГГ-М-ДД (например, «2018–6–14»). В другом месте эта строка была преобразована в объект Date с использованием new Date("2018-6-14"). Когда мы тестируем в режиме отладки, все работало нормально и счастливо. Однако в выпуске APK это не работало. Мы выяснили, что разница в механизме Javascript между режимом отладки (используется Chrome или браузер Javascript) и режимом выпуска (используется механизм Javascript устройства) делаетnew Date("2018-6-14") недопустимой датой на устройстве.

Решение 1

Сохраните или передайте строку даты в формате ISO, потому что формат ISO будет работать с любым Javascript.

Решение 2

Мы использовали другую библиотеку javascript под названием moment, чтобы решить эту проблему. Мы использовали moment("2018-6-14", "YYYY-M-DD"), чтобы снова преобразовать строку в объект даты.

Затем дата становится действительной, и все снова работает нормально. Вы сталкивались с этой проблемой раньше? Как ваша команда решила эту проблему? Сообщите нам, что вы думаете, и предложите лучший подход.

Если вы увлечены образованием, технологиями и хотите испытать себя, изучив новую кроссплатформенную технологию под названием React Native, свяжитесь с нами и присоединитесь к нашему путешествию. Мы будем привержены делу, поможем вам расти и сделаем вас лучше.

Подробнее откуда это взялось

Эта история публикуется в журнале Noteworthy, куда ежедневно приходят тысячи людей, чтобы узнать о людях и идеях, формирующих наши любимые продукты.

Следите за нашей публикацией, чтобы увидеть больше статей, представленных командой Журнала.