2017-01-25 2 views
1

Я пытаюсь использовать компонент Alert в React Native, чтобы создать постоянный опыт между Android и iOS. Я пытаюсь запустить пример alert. Я импортировать компонент оповещения (опущенные другие импорта для краткости):Alert.alert() не работает в React Native 0.36.1

import { 
    Alert, 
} from 'react-native'; 

затем создать оповещение, представленную в примере:

Alert.alert(
    'Alert Title', 
    'My Alert Msg', 
    [ 
    {text: 'Ask me later', onPress:() => console.log('Ask me later pressed')}, 
    {text: 'Cancel', onPress:() => console.log('Cancel Pressed'), style: 'cancel'}, 
    {text: 'OK', onPress:() => console.log('OK Pressed')}, 
    ] 
) 

Однако, я получаю следующее сообщение об ошибке:

enter image description here

Я нашел this post with a similar issue, однако, я считаю, что моя проблема в другом:

  • Я бег Реагировать родную версию 0.36.1
  • Я вижу эту ошибку для Android и прошивки

Я проковылял о том, как это исправить. Кто-нибудь еще повезло, чтобы это работало над версией 0.36?

Update

В соответствии с просьбой, вот пример того, где я пытаюсь использовать предупреждение:

<TouchableHighlight style={styles.button} underlayColor='transparent' onPress={() => Alert.alert(
     'Alert Title', 
     'Alert Message' 
    )}> 

Это только один случай, когда код не удается. Я попробовал несколько предупреждений по нескольким компонентам и методам, и никто из них не работает.

Update 2

Стоит отметить, что стандартная alert() функция работает без сбоев. Однако я не могу указать заголовок предупреждения. Например, приведенный ниже код вернет предупреждение с заголовком «Предупреждение» и сообщение «Введите четырехзначный код».

 alert("Invalid Code", "Please enter a 4 digit code.") 

Мой желаемый результат будет иметь название = «Неверный код» и сообщение = «Пожалуйста, введите 4-значный код.»

+0

Можете ли вы предоставить больше контекста, в котором вы используете оповещение. Например, также включайте код компонента и функцию, в которой вы вызываете оповещение. –

+0

@coderhacker См. Мое обновление. –

+0

Ну, вы определенно импортируете его и используете его правильно ... Я бы попробовал перезапустить упаковщик и симулятор. Если это не сработает, возможно, попробуйте выполнить «реагировать на обновление», чтобы проверить, находятся ли файлы шаблонов в актуальном состоянии с вашим пакетом npm. –

ответ

0

Я бы попытался создать отдельную функцию, которая вызывает Alert.alert ('foo'). Затем в вашем TouchableHighlight используйте onPress={this.onYourFunctionName.bind(this)}

Смежные вопросы