如何处理图像的道具类型?

How to handle proptypes for image?

AlertMessage.defaultProps = {
  icon: Images.promptWarning
};

AlertMessage.propTypes = {
  icon: PropTypes.node
};
promptWarning: Platform.OS === 'android' ? { uri: 'asset:/some.png' } : require('../some.png'),

由于 android 无法在发布模式下捆绑资产,采用了上述方法,使用 { uri: 'asset:/some.png' } 而不是标准 require('../some.png'),但现在又引发了另一个问题propTypes 期望 PropTypes.node,对于上述情况我应该使用什么正确的类型?

AlertMessage.propTypes = {
  icon: Platform.OS === 'android' ? PropTypes.shape({
    uri: PropTypes.string
  }) : PropTypes.node
};

不确定这是否正确,但我确实在 propTypes 内进行了检查,以决定要检查哪个 PropTypes。感谢@JoaozitoPolo 的想法