【问题标题】:How should I specify type of children for styled-components React Native component?我应该如何指定样式组件 React Native 组件的子类型?
【发布时间】: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 }>``;

有没有更好的方法或者这是我应该做的?似乎对每个组件都这样做是重复的,应该有更好的方法。

【问题讨论】:

    标签: reactjs typescript react-native styled-components


    【解决方案1】:

    经过几周对此感到恼火并最终决定在 StackOverflow 上提问...我一做就发现不到两个小时前已经合并了一个 PR 以解决这个确切的问题: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/32843

    在 styled-components 4.1.9 中,children 属性类型会自动添加到所有组件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-20
      • 2019-10-18
      • 1970-01-01
      • 2018-11-16
      • 2021-04-17
      相关资源
      最近更新 更多