React Native — Native Module — двойной параметр не обнуляется (Bridge, Kotlin)Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 React Native — Native Module — двойной параметр не обнуляется (Bridge, Kotlin)

Сообщение Anonymous »

Я пытаюсь создать собственный модуль React Native с использованием Kotlin. Я хочу использовать необязательные параметры, но приложение вылетает при использовании Double?.
Пример:
React Native:

Код: Выделить всё

const {add} = NativeModules.MyModule;
add();  // param not set
Kotlin со String? работает

Код: Выделить всё

fun add(data: String?) {}
Kotlin с Double? происходит сбой

Код: Выделить всё

fun add(data: Double?) {}
Сбой:

Код: Выделить всё

com.facebook.react.bridge.NativeArgumentsParseException: Attempt to invoke virtual method 'double java.lang.Double.doubleValue()' on a null object reference (constructing arguments for MyModule.add at argument index 0)
Хотя Kotlin поддерживает значение Double с нулевым значением ?, похоже, что React Native Bridge неправильно пытается использовать функцию doubleValue() для преобразования это. Эта функция не обрабатывает нулевые значения.
В качестве обходного пути я мог бы использовать ReadableMap и поместить в него все, что работает нормально. Однако меня смущает, почему необязательные параметры String поддерживаются, а необязательные параметры Double — нет. Это заставляет меня задуматься, не делаю ли я что-то не так.
EDIT: Протестировано с помощью React Native 73.6 и 75.2 (последняя версия)
EDIT2: Я Я рассмотрел 3 популярных пакета. Все используют необязательные параметры String, но никогда необязательные Double, Boolean и т. д. Вроде все об этом знают, но не жалуются. Как упоминалось выше, сейчас я буду использовать ReadableMap во всем.

Подробнее здесь: https://stackoverflow.com/questions/789 ... dge-kotlin
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»