Тестирование this.props.navigation

import React from 'react';
import ListElements from '../Components/ListElements';
class HospitalsScreen extends React.Component {

  constructor(props) {
    super(props);
    this.state = {
      Hospitals: ['Hospital de Base','Hospital Regional de Taguatinga','Hospital da Ceilandia','Clínica']
    };
  }

  onPressItem() {
    this.props.navigation.navigate('sectors');
  }

  render() {
    return (
      <ListElements
      list = {this.state.Hospitals}
      title='Hospitais'
      onPress = {this.onPressItem.bind(this)}
      />
    );
  }
}

export default HospitalsScreen;

У меня возникли проблемы с тестированием этого экрана в функции _onPress. Я не нашел ничего, что решало бы проблему.

в чем ошибка? вы можете опубликовать метод навигации или имя библиотеки, которое вы используете для навигации?

Hariharan L 02.06.2018 04:59

Я использую реагирующую навигацию. Проблема в том, что я не могу найти способ проверить это, всегда выдает ошибку «не могу прочитать свойства свойства undefined».

Felipe Campos 02.06.2018 05:06
github.com/react-navigation/react-navigation/issues/2793. это может вам помочь, я думаю
Hariharan L 02.06.2018 05:07
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
183
1

Ответы 1

В Javascript значение this внутри функции зависит от того, как эта функция вызывается.

Узнайте, как привязка this работает в JavaScript здесь

Есть несколько способов добиться этого. Используйте их и посмотрите, получите ли вы this как неопределенное в функции или нет.

Один из них - добавить this.onPressItem = this.onPressItem.bind(this); в конструктор.

Другой - стрелочные функции

onPressItem= (event) => {this.props.navigation.navigate('sectors'); }

А еще есть onPress = {this.onPressItem.bind(this)}.

Вы можете найти более подробную информацию здесь

Также просмотрите эту статью Не используйте привязку при передаче реквизита

Другие вопросы по теме