我应该如何指定样式组件 React Native 组件的子类型?
Posted
技术标签:
【中文标题】我应该如何指定样式组件 React Native 组件的子类型?【英文标题】:How should I specify type of children for styled-components React Native component? 【发布时间】:2019-07-06 15:42:10 【问题描述】:如果我创建一个这样的样式组件:
const Wrapper = styled(View)``;
并尝试使用它并将子代传递给它,我得到这个 TyepScript 错误:
类型'孩子:元素[]; ' 与 type 没有共同的属性 '内在属性和选择, “风格” | “击球” | “布局” | “指针事件” | "removeClippedSubviews" | “测试ID” | “本机ID” | ... 38 更多... | "ref"> & 部分<...>, "style" | ... 44 更多... | “参考”> & ...; & ...; '。
除非我明确定义了 children 属性的类型:
const Wrapper = styled(View)< children?: React.ReactNode >``;
有没有更好的方法或者这是我应该做的?似乎对每个组件都这样做是重复的,应该有更好的方法。
【问题讨论】:
【参考方案1】:经过几周对此感到恼火并最终决定在 *** 上提问...我一做就发现不到两个小时前已经合并了一个 PR 以解决这个确切的问题: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/32843
在 styled-components 4.1.9 中,children 属性类型会自动添加到所有组件中。
【讨论】:
以上是关于我应该如何指定样式组件 React Native 组件的子类型?的主要内容,如果未能解决你的问题,请参考以下文章
如何设置 React Native <CheckBox> 组件的样式?
如何在 React-Native 项目中使用 Jest 测试样式化组件?