【发布时间】:2020-11-11 00:10:39
【问题描述】:
我正在使用 TypeScript 创建一个 Expo 托管的 React Native 应用程序,但在使用 React Navigation 和 TypeScript 时遇到了一些问题。
我想在 Tab.Screen 组件上指定底部选项卡导航器的图标。
此代码有效,但由于 route.params 可能未定义(第 10 行)而报错。
“对象”类型上不存在属性“图标”
我可以在 initialParams 上制作所需的图标道具吗?
我查看了文档没有任何运气。
const App: React.FC<{}> = () => {
return (
<SafeAreaView style={styles.container}>
<NavigationContainer>
<Tab.Navigator
screenOptions={({ route }) => ({
tabBarIcon: ({ size, color }) => (
<MaterialIcons
size={size}
/* ===> */ name={route.params.icon}
color={color}
/>
),
})}
>
<Tab.Screen
name="EventListView"
initialParams={{ icon: 'view-agenda' }}
component={EventListScreen}
/>
<Tab.Screen
name="CreateEvent"
initialParams={{ icon: 'public' }}
component={SettingsScreen}
/>
</Tab.Navigator>
</NavigationContainer>
</SafeAreaView>
)
}
【问题讨论】:
标签: reactjs typescript react-native react-navigation react-navigation-bottom-tab