如何从react-navigation获取主题类型(Typescript)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从react-navigation获取主题类型(Typescript)相关的知识,希望对你有一定的参考价值。

我想创建一个钩子 useThemeStyled 在我的样式中用React-Native获得react-navigation主题。

import  useTheme  from "@react-navigation/native";
import  Theme  from "@react-navigation/native/lib/typescript/src/types";

export const HomeScreen = () => 
  const sylings = useThemeStyled(styles);
  return (
    <View>
      <Text style=sylings.title>HomeScreen</Text>
    </View>
  );
;

const styles = (theme: Theme) => (
  title: 
    color: theme.colors.text
  
);

const useThemeStyled = (style: (theme: Theme) => any) => 
  const theme = useTheme();
  return StyleSheet.create(style(theme));
;

import Theme from "@react-navigation/native/lib/typescript/src/types"; 正确吗?

有没有一种方法可以不用定义 :Theme 类型为主题参数,当声明 const styles ...?

答案

使用 typeof

type Theme = typeof DefaultTheme;

以上是关于如何从react-navigation获取主题类型(Typescript)的主要内容,如果未能解决你的问题,请参考以下文章

在 react-navigation 中,如何获取标题和 TabBar 之间可见区域的尺寸?

无法从“App.js”解析“@react-navigation/native”-React Native + 如何解决?

如何使用 react-navigation 推送新场景?

Android 如何获取支持操作栏的 AppCompat.Translucent 类型主题?

使用 React-Navigation 的类型安全的 navigationHandler

如何从具有小数类型列的主题在 ksql 中创建流