Как я использую реагирующий нативный модуль RCNAsyncStorage из нативного быстрого кода - PullRequest
0 голосов
/ 13 мая 2019

У меня есть встроенное приложение, в котором я использую модуль RNCAsyncStorage npm для простого сохранения данных.Как бы то ни было, моя iOS версия приложения поставляется с расширением общего ресурса, и этому расширению общего доступа необходим доступ к одной из моих сохраненных строк данных.

Короче говоря, я хочу использовать RNCAynscStorage из swiftнативный код для получения данных, которые были сохранены из моего собственного нативного кода реакции.

Прежде чем даже попытаться реализовать модуль, я спросил RNC, и они ответили:

Это возможно, но требует некоторых знаний о том, как работают нативные модули в целом.Я не уверен, насколько это перспективно в отношении предстоящей работы по рефакторингу в React Native, но вот как вы могли бы получить к ней доступ сегодня:

// First, get the RNCAsyncStorage instance from the bridge
RNCAsyncStorage *asyncStorage = [bridge moduleForClass:[RNCAsyncStorage class]];

// Then call the getter:
[asyncStorage multiGet:@[@"count"]] callback:^(NSArray *response){
    NSObject *count = response[0];
    if ([count isKindOfClass:[NSError class]]) {
        // Failed to get count
        return;
    }

    // Use count here
}];

Однако, мое расширение написано наswift, и я не уверен, как это будет выглядеть при преобразовании в swift.

Сначала я следовал руководству, чтобы сделать модуль реагирующего моста доступным в быстром коде, вот как выглядит моя привязка: enter image description here

Я также пытался преобразовать пример objecttive-C в seift, но, как вы можете видеть, это не работает.enter image description here Я не уверен, что это потому, что модуль неправильно выставлен / импортирован, или просто, если быстрое преобразование неверно.но и bridge, и RNCAsyncStorage не разрешены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...