Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Ошибка React Native / 4 сообщений из 4, страница 1 из 1
11.04.2021, 01:35
    #40061412
LMag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка React Native
Здравствуйте товарищи программисты, не могли подсказать, что это за ошибка

"The action ‘Navigate’ with payload undefined was not handled by any navigator. ( REACT-NATIVE)"

В разработке на react native я новичок.

Вот App.js

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
import { StatusBar } from 'expo-status-bar';
import React from 'react';
/*import { StyleSheet, Text, View } from 'react-native';*/
import { NavigationContainer } from '@react-navigation/native';
//import { createStackNavigator } from '@react-navigation/stack';
import TabNavigator from './app/navigation/TabNavigator';

//import About from './app/screen/About';


const Stack = createStackNavigator();

export default function App() {
      return <NavigationContainer>
          <TabNavigator />
          {/*
          <Stack.Navigator>
          <Stack.Screen name="About" component={About} />
          </Stack.Navigator>
          */}
      </NavigationContainer>
}



В этом месте выдает ошибку

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
import { StatusBar } from 'expo-status-bar';
import React, { Component } from 'react';
import { 
  StyleSheet, 
  Text, 
  View,  
  ScrollView, 
  TextInput, 
  Dimensions,
  Image, 
  TouchableOpacity} from 'react-native';

import { Ionicons } from '@expo/vector-icons';
import { Entypo } from '@expo/vector-icons'; 

import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';

import Slider from '../components/Slider';
/*import { TouchableOpacity } from 'react-native-gesture-handler';*/

var { height, width } = Dimensions.get("window");

const Home = ({navigation}) => {

     return (
        <ScrollView style={{backgroundColor: '#fff'}}>
         <View style={styles.container}>

           <View style={{width: width, alignItems: "center"}}>
             <Image resizeMode="contain" style={{height : 70, width: width, marginTop: 45}} source={require('../../assets/logo.png')} />
             <Slider />
           </View> 
           
           <View style={styles.categoryContainer}>
             <TouchableOpacity 
                  style={styles.categoryBtn} 
                  onPress={ () => { 
                    console.log('about');
                    navigation.navigate('About'); //ошибка вот здесь выходит
                  }}>
                <View style={styles.categoryIcon}>               
                  <MaterialCommunityIcons name="information-variant" size={35} color="#FF6347" />
                </View>
                <Text style={styles.categoryBtnTxt}>О нас</Text>
             </TouchableOpacity>
             ........


то есть я хочу по кнопке перейти на страницу About , не получается, выдает ошибку

это файл, где формирую bottom навигацию

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
import React from 'react';
import { View, StyleSheet} from 'react-native';
/*import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';*/
import { createMaterialBottomTabNavigator } from '@react-navigation/material-bottom-tabs';
import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';

import Home from '../components/Home';
import Catalog from '../components/Catalog';
import Cart from '../components/Cart';
import Search from '../components/Search';
import Profile from '../components/Profile';

const Tab = createMaterialBottomTabNavigator()

const TabNavigator = () => {
  return <Tab.Navigator 
            initialRouteName="Home"
            activeColor="#e91e63"
            barStyle={{ 
              backgroundColor: '#f0f0f0',
              borderColor: 'red'
            }}
           /*tabBar={(props) => <TabBar {...props}}*/ >
   <Tab.Screen
        name="Home"
        component={Home}
        options={{
          tabBarLabel: 'Главная',
          tabBarIcon: ({ color }) => (
            <MaterialCommunityIcons name="home" color={color} size={26} />
          ),
        }}
      />
      <Tab.Screen
        name="Catalog"
        component={Catalog}
        options={{
          tabBarLabel: 'Каталог',
          tabBarIcon: ({ color }) => (
            <MaterialCommunityIcons name="store" color={color} size={26} />
          ),
        }}
      />
      <Tab.Screen
        name="Cart"
        component={Cart}
        options={{
          tabBarLabel: '',        
          tabBarIcon: ({ color }) => (
            <MaterialCommunityIcons name="cart" color={color} size={26} />
          ),
        }}
      />
      <Tab.Screen
        name="Search"
        component={Search}
        options={{
          tabBarLabel: 'Поиск',      
          tabBarIcon: ({ color }) => (
            <MaterialCommunityIcons name="magnify" color={color} size={26} />
          ),
        }}
      />           
      <Tab.Screen
        name="Profile"
        component={Profile}
        options={{
          tabBarLabel: 'Профиль',
          tabBarIcon: ({ color }) => (
            <MaterialCommunityIcons name="account" color={color} size={26} />
          ),
        }}
      />
  </Tab.Navigator>
}

const styles = StyleSheet.create({
    container: {}
})

export default TabNavigator;
...
Рейтинг: 0 / 0
11.04.2021, 11:54
    #40061434
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка React Native
LMag , я с React знаком после прочтения нескольких книг о нем...
Но суть ошибки - метод
Код: javascript
1.
navigation.navigate('About');


не отработан.
Судя по твоему коду ты не передал в элемент "Home" никакого параметра, касающегося навигации.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
   <Tab.Screen
        name="Home"
        component={Home}
        options={{
          tabBarLabel: 'Главная',
          tabBarIcon: ({ color }) => (
            <MaterialCommunityIcons name="home" color={color} size={26} />
          ),
        }}
      />


Имеет смысл посмотреть уроки по использованию "react-navigation"...
Тогда может что-то прояснится.
...
Рейтинг: 0 / 0
11.04.2021, 12:01
    #40061435
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка React Native
LMag , вот посмотри примеры как делаются экраны и кнопки на них
https://www.digitalocean.com/community/tutorials/react-react-native-navigation-ru
Там кода явно больше чем у тебя...
...
Рейтинг: 0 / 0
11.04.2021, 21:54
    #40061512
LMag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка React Native
krvsa
LMag , я с React знаком после прочтения нескольких книг о нем...
Но суть ошибки - метод
Код: javascript
1.
navigation.navigate('About');


не отработан.
Судя по твоему коду ты не передал в элемент "Home" никакого параметра, касающегося навигации.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
   <Tab.Screen
        name="Home"
        component={Home}
        options={{
          tabBarLabel: 'Главная',
          tabBarIcon: ({ color }) => (
            <MaterialCommunityIcons name="home" color={color} size={26} />
          ),
        }}
      />


Имеет смысл посмотреть уроки по использованию "react-navigation"...
Тогда может что-то прояснится.


А как показать Home об About?
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Ошибка React Native / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]