#javascript #android #reactjs #react-native #react-native-navigation
#javascript #Android #reactjs #react-native #react-native-navigation
Вопрос:
Я очень новичок в React, если вам нужна дополнительная информация, дайте мне знать, и я могу предоставить. Я пытаюсь добавить нижние вкладки. Я следил за документацией по реагированию на навигацию в меру своих возможностей. Я также просмотрел формы и нашел несколько похожих вопросов, но все равно не смог разобраться. Спасибо за помощь.
import React from 'react';
import { createStackNavigator } from "@react-navigation/stack";
import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
import Icon from 'react-native-ionicons';
import Ionicons from 'react-native-vector-icons/Ionicons'
import GreenScreen from "./GreenScreen";
import RedScreen from "./RedScreen";
const GreenStack = createStackNavigator ();
function GreenStackScreen() {
return (
<GreenStack.Navigator>
<GreenStack.Screen name="Green" component={GreenScreen}/>
<GreenStack.Screen name="Red" component={RedScreen}/>
</GreenStack.Navigator>
);
}
const RedStack = createStackNavigator ();
function RedStackScreen() {
return (
<RedStack.Navigator>
<RedStack.Screen name="Green" component={GreenScreen}/>
<RedStack.Screen name="Red" component={RedScreen}/>
</RedStack.Navigator>
);
}
const Tab = createBottomTabNavigator();
export default function BottomTabs() {
return (
<Tab.Navigator
screenOptions={({route}) => ({
tabBarIcon: ({color, size}) => {
let iconName;
if (route.name ==='Green') {
iconName='home'
}else if(route.name ==='Red'){
iconName='grid'
}
return <Ionicons name={iconName} size={20} />
}
})} >
<Tab.Screen name="Green" component={GreenStackScreen}/>
<Tab.Screen name="Red" component={RedStackScreen} />
</Tab.Navigator>
)
}
Комментарии:
1.
import { createStackNavigator } from '@react-navigation/stack';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
2. Остановите metro bundler и заново создайте приложение. Я имею в виду просто отключить терминал и повторно запустить приложение
Ответ №1:
Ваш импорт неверен, вы должны импортировать, как показано ниже
import { createStackNavigator } from '@react-navigation/stack';
И нижний навигатор должен быть импортирован, как показано ниже
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
Комментарии:
1. Спасибо. Именно так предложил мне WebStorm. В любом случае, я изменил его в соответствии с вашим предложением, и изменений нет.
2. Вы установили правильные пакеты npm, верно? перезапустите пакет, попробуйте еще раз
3. Похоже, есть два исключения.. createStackNavigator теперь распознается как функция, но такое же исключение встречается в другом месте. Я удостоверюсь, что все мои импортные данные верны, еще раз спасибо