Reactjs - 使用 oneOfType 检查 proptypes

Dan*_*ith 5 reactjs react-proptypes

我想允许组件具有两种可能的属性类型之一(字符串或未定义)。我正在使用 PropTypes.oneOfType 来执行此操作。

import React from 'react';
import PropTypes from 'prop-types';

Product.propTypes = {
    productTag: PropTypes.oneOfType([
        PropTypes.string, undefined
    ]),
};

Product.defaultProps = {
    productTag: undefined
};
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?

Nic*_*ies 3

import React from 'react';
import PropTypes from 'prop-types';

Product.propTypes = {
    productTag: PropTypes.oneOfType([
        PropTypes.oneOf([undefined, PropTypes.string])
    ]),
};

OR

Product.propTypes = {
    productTag: PropTypes.oneOfType([
        PropTypes.string,
        PropTypes.oneOf([undefined])
    ]),
};

Product.defaultProps = {
    productTag: undefined
};
Run Code Online (Sandbox Code Playgroud)

我认为你可以通过使用这种方式来做到这一点PropTypes.oneOf。我认为仅通过undefined它是行不通的。