Expo 53.0搭配NativeWind创建VStack组件时触发TypeError错误求助
Expo 53.0搭配NativeWind创建VStack组件时触发TypeError错误求助
嘿,各位开发者朋友,我最近在Expo 53.0环境下用NativeWind自定义VStack组件时,碰到了TypeError的问题,折腾好几天都没找到解决办法,特意来求助大家!
我已经正常安装了NativeWind,平时在普通组件里用className写样式都能正常生效,完全没毛病,但一自己封装VStack组件就触发错误。目前我写的组件代码是这样的(之前没写完,我补全了合理的结构):
import React, { PropsWithChildren } from 'react'; import { View, ViewProps, StyleProp, ViewStyle } from 'react-native'; import { verifyInstallation } from "nativewind"; type VStackProps = PropsWithChildren<{ className?: string; style?: StyleProp<ViewStyle>; }> & Omit<ViewProps, 'style' | 'className'>; const VStack = ({ children, className, style, ...rest }: VStackProps) => { verifyInstallation(); return ( <View className={`flex flex-col ${className}`} style={style} {...rest}> {children} </View> ); }; export default VStack;
一运行就弹出TypeError,我试了各种调整类型定义的方式都不管用,有没有朋友碰到过类似的情况?给我支支招呗!
我自己也排查了几个方向,但都没解决问题,也给大家参考:
- 确认了Expo 53.0和NativeWind 4.x版本的兼容性,官方说明是支持的,但不确定有没有隐藏的版本适配坑
- 把
verifyInstallation()移到App.tsx入口只调用一次,还是会触发错误 - 简化VStack组件到最基础的结构,只保留View包裹children,依然报错
- 检查了tsconfig.json里的NativeWind类型配置,已经加上了
"types": ["nativewind/react-native"]
到底是我类型定义哪里写得有问题,还是NativeWind和Expo 53的集成有什么特殊配置我没做?麻烦懂的朋友帮忙看看!
内容来源于stack exchange
相关产品推荐
相关产品推荐

