如果我创建这样的样式化组件:
const Wrapper = styled(View)``;
尝试使用它并将子级传递给它,我收到此TyepScript错误:
类型'{children:Element []; }'与type没有共同的属性 'IntrinsicAttributes&Pick, “样式” | “ hitSlop” | “ onLayout” | “ pointerEvents” | “ removeClippedSubviews” | “ testID” | “ nativeID” | ... 38更多... | “ ref”>&Partial <...>,“样式” | ... 44更多... | “ ref”>&{...; }& {...; }'。
除非我明确定义children属性的类型:
const Wrapper = styled(View)<{ children?: React.ReactNode }>``;
有更好的方法吗?或者这是我应该做的?似乎对每个单个组件执行此操作都是重复的,应该有更好的方法。
答案 0 :(得分:0)
经过数周的烦恼之后,我最终决定询问StackOverflow ...我一经发现不到两个小时前就已经合并了PR,以解决此确切问题: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/32843
在4.1.9样式化组件中,children属性类型会自动添加到所有组件中。