Возможный необработанный отказ от обещания (id: 0): TypeError: this.props не определено - PullRequest
0 голосов
/ 23 января 2019

У меня есть компонент класса PatientQueue в файле PatientQueue.js и Другой компонент класса PatientDetailView в файле PatientDetailView.js. И я вызываю функцию Getdetails (), которая находится в классе PatientQueue из класса PatientDetailView. Создавая его объект. но когда я звоню Getdetails, я получаю сообщение об ошибке возможного отказа от неопознанного обещания (id: 0):

TypeError: this.props не определено.

Файл PatientQueue

import React from 'react';
import { FlatList, BackHandler, ListView, ToastAndroid, ScrollView, ActivityIndicator,AppState, TouchableOpacity, Alert, StyleSheet, Image, Text, View, Button, AsyncStorage, SafeAreaView, RefreshControl } from 'react-native';
import { createStackNavigator, createAppContainer, DrawerItems } from 'react-navigation';
import { SearchBar, Icon } from 'react-native-elements';
import MultiSelect from 'react-native-multiple-select';
import { PatientDetailView } from './PatientDetailView';
import { connect } from "react-redux";
import { fetchQueue } from '../common/actions/patientQueue';
import { filterQueue } from '../common/actions/filters';
import { clearAllFilters } from '../common/actions/filters';

class PatientQueue extends React.Component {
  constructor(props) {
    super(props);
    ...
  }

  ForTesting(){
    console.log("function called")
  }

  async Getdetails() {
    console.log("fetch detailssss")

    const retrievedItem = await AsyncStorage.getItem("StorageData");
    const getretrievedItem = JSON.parse(retrievedItem);
    var loginToken = getretrievedItem.token;

    await this.props.dispatch(fetchQueue(loginToken));
    console.log("fetch details comleted") 

  }

  render() {
    ...   
  }
}

export default connect(mapStateToProps)(PatientQueue);
const RefreshList = new PatientQueue();
export { RefreshList }

Файл PatientDetailView

import React from 'react';
import { FlatList,Modal, ListView,TextInput, Linking,Picker, 
TouchableOpacity, ActivityIndicator, Alert, StyleSheet, Text, View, Button, AsyncStorage } from 'react-native';
import { createStackNavigator, createAppContainer } from 'react-navigation';
import { Header, Left, Right, Icon, Container, Body, Title } from 'native-base';  
import {RefreshList} from './PatientQueue';
import PatientQueue from './PatientQueue';

class PatientDetailView extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      modalVisible: false,
      TransferModalVisible:false,
      ...
    }
  }
  async OpenUhs(BtnStatus,PatientId) {
    RefreshList.Getdetails();
    this.props.navigation.navigate("Queue")
  }

  render() {
    ...
  }

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