Undefined не является объектом (оценка 'RCTAsyncStorage.multiMerge' (React-native-asyncstorage) - PullRequest
0 голосов
/ 28 апреля 2018

У меня возникла проблема, связанная с response-native-asyncstorage: https://facebook.github.io/react-native/docs/asyncstorage.html

Когда я запускаю react-native run-ios, появляется следующая ошибка: enter image description here

Я использую response-native 0.52.0, и эта проблема может быть связана с зависимостью response-native-asyncstorage:

react-native-asyncstorage@1.0.0 требует однорангового response-native@^0.47.2, но ни один не установлен Вы должны установить peer Зависимости себя.

Странно то, что он отлично работает для Android, но не для iOS и эмулятора iOS.

Может кто-нибудь помочь?

EDIT

Я хотел бы добавить несколько моментов, которые могут быть полезны:

  • Я использую Экспо для разработки,
  • Я прокомментировал каждое AsyncStorage в моем коде, но проблема все еще сохраняется,
  • Как указано в комментарии, здесь приведен фрагмент кода моего AsyncStorage

-

import { AsyncStorage } from 'react-native';
export async function SetItem(strKey, objValue) {
    try {
        if (typeof(objValue) === 'string') {
            await AsyncStorage.setItem(strKey, objValue);
        }
        else {
            await AsyncStorage.setItem(strKey, JSON.stringify(objValue));
        }
    } 
    catch(error){
        console.log(error);
    }
}

1 Ответ

0 голосов
/ 29 апреля 2018

Как сказано в документации: ПРИМЕЧАНИЕ. Это поддерживается не всеми собственными реализациями , возможно, из-за этого вы работаете с ошибкой.

Это также может быть Reactotron , который вы используете (в соответствии с трассировкой стека), который вызывает это. Попробуйте сначала отключить его?

Есть ли у вас пользовательская реализация AsyncStorage (например: https://www.npmjs.com/package/react-native-asyncstorage)? Если это так, снимите ее, если нет особой причины для ее использования (уточните в вопросе)

Но в целом, вы можете, например, использовать React Native Simple Store и это update метод.

Или тогда вы можете написать свою собственную функцию с помощью lodash.merge .

Если проблема не устраняется даже при комментировании всего кода AsyncStorage, удалении возможных пользовательских зависимостей и отключении Reactotron, и вы не можете найти способ самостоятельно написать multiMerge, обновите свой вопрос и отправьте мне ответ на этот ответ.

...