【问题标题】:react-native prop type for text style文本样式的 react-native 属性类型
【发布时间】:2018-02-01 15:00:10
【问题描述】:

我有一个结构简单的组件和一个<Text> 在树内的某个地方,我想为其传递一个样式。除了用于 proptypes 验证之外,这非常有效。

基本设置仅此而已

export default class Component extends PureComponent {
    render() {
        return (<View><Text style={this.props.style}>Some text</Text></view>);
    }
}

Component.defaultProps = {
    style: null,
};

Component.propTypes = {
    style: ViewPropTypes.style,
};

问题是 ViewPropTypes.style 不包含即color 键。因此,为样式提供颜色是无效的并会产生警告。我尝试导入TextStylePropTypes,正如我在https://github.com/facebook/react-native/blob/master/Libraries/Text/TextStylePropTypes.js 中找到的那样,但它是未定义的。

有什么建议吗?

【问题讨论】:

    标签: react-native react-proptypes


    【解决方案1】:

    由于传递的样式属性是针对文本节点的,所以使用Text.propTypes.style,如下所示...

    Component.propTypes = {
        style: Text.propTypes.style
    };
    

    【讨论】:

      【解决方案2】:

      对于任何试图实现这一点的人来说,View.propTypes.style 似乎已被弃用,而 Text.propTypes.style 则不是。

      【讨论】:

      • 查看风格道具检查 import { ViewPropTypes } from 'react-native'; & style: ViewPropTypes.style, 使用这个
      • 从 React Native 0.62 开始,Text.propTypes.style 也被弃用了。
      • @EricWiener,你在 0.62 版本中找到这个错误的解决方案了吗?因为我发现了同样的错误。
      • @EricWiener 我已经从任何地方删除了所有这些东西,但没有任何成功。
      • @anshumanburmman 确保在您的任何依赖项中都没有出现任何情况。
      猜你喜欢
      • 1970-01-01
      • 2021-06-30
      • 2017-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-03
      • 2018-10-03
      • 1970-01-01
      相关资源
      最近更新 更多