安静地“你手动调用React.PropTypes”

时间:2017-03-31 17:12:36

标签: create-react-app

我正在使用最新的反应,我有一个自定义验证功能,如下所示:

 editing: function(props, propName, componentName) {
            /*
            {
                [password/displayname/email]: {
                    form: object
                    destroying: bool
                }
            }
            */
            let prop = props[propName];

            if (prop === undefined) return; // is not isRequired

            let failobject = PropTypes.object({ [propName]:prop }, propName, componentName);
            if (failobject) return failobject;

            for (let [key, val] of Object.entries(prop)) {
                let failkey = PropTypes.oneOf(['password', 'displayname', 'email'])({ key:key }, 'key', componentName);
                if (failkey) return failkey;

                let failshape = PropTypes.shape({
                    form: PropTypes.object, // not required, as initially undefined
                    destroying: PropTypes.bool // not required, as i only set this to true when it starts to transition out
                })({ value:val }, 'value', componentName);
                if (failshape) return failshape;
            }
        }
    }).isRequired,

我只打算在开发中使用它。 React继续用这个警告大喊大叫:

  

“警告:您正在手动调用React.PropTypes验证   key上的BodyProfile道具的功能。这已被弃用了   将无法在下一个主要版本的生产中使用。你可能   由于第三方PropTypes库而看到此警告。看到   fb.me/react-warning-dont-call-proptypes了解详情。“   bundle.js:11902:10

我正在使用create-react-app - 无论如何要告诉我我正在开发并且不告诉我这个弃用警告?

0 个答案:

没有答案