Задать вопрос
seregazolotaryow64
@seregazolotaryow64
IT Специалист и самоучка

Как исправить ошибку чтения props в React Navigation?

Добрый день!
Недавно я столкнулся с этим:

TypeError: Cannot read properties of undefined (reading 'jumpTo')

onPress
/home/head/Desktop/Серега Младший/ITProjects/wccnavigator/pages/stores.tsx:17
14 |
15 | Категории
16 | {
> 17 | return this.props.navigation.jumpTo('CurrentCategory',{cat: item.ID})}>{item.Category}
| ^ 18 | }} />
19 |
20 |

Пример кода, при нажатии на фрагмент которого возникла данная проблема:
import React, {Component} from 'react';
import { FlatList, Text, View } from 'react-native';
import { BottomTabNavigator, NavigationScreenProp } from 'react-navigation';
import { StoresFeed } from '../handlers/stores/homepage/Feed';
import { StoreListService } from '../services/stores/homepage/List';

export interface StoresProps {
      navigation: NavigationScreenProp<any,any>
}
export class Stores extends Component<StoresProps, object>{
	render(){
		return (
			<React.Fragment>
				<View style={screenStyle.list}>
					<Text style={pageStyle.feedList}>Категории</Text>
					<FlatList data={catList} renderItem={({item} : {item: any}) => {
						return <Text style={pageStyle.LCList} onPress={() => this.props.navigation.jumpTo('CurrentCategory',{cat: item.ID})}>{item.Category}</Text>
					}} />
				</View>
			</React.Fragment>
		);
	}
}

const pageStyle = new StoresFeed('ui-change',0).eventStart(),
      screenStyle = new StoresFeed('ui-change',1).eventStart();

const catList = new StoreListService('categories', null).eventStart();

Во всём моем проекте на TypeScript используется React Navigation с привязанным навигатором внизу шаблона. Сам вопрос коснулся не только этого компонента и сам остальной проблемный код в комментариях к этому вопросу. Как правильно применить пропы во всех компонентах React Native с использованием того же TypeScript?
Заранее вам спасибо!
  • Вопрос задан
  • 39 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы