2017-08-25 26 views
1

我在我的项目中使用了redux-form,并且想要使用fieldInputPropTypes,它可以从redux-form导入。我使用它像这样在控制台中使用redux-form fieldInputPropTypes抛出错误

import { fieldInputPropTypes } from 'redux-form'; 
... 
SuperComponent.propTypes = { 
    ... 
    input: fieldInputPropTypes.isRequired, 
    ... 
}; 

但后来我在控制台中看到的错误: Warning: Failed prop type: SuperComponent: prop type ``input`` is invalid; it must be a function, usually from React.PropTypes.

我使用它以某种方式错了吗?

回答

1

你应该从'prop-types'包中将它包装在PropTypes.shape()中。

看看源码here

工作例如:

import PropTypes from 'prop-types'; 
import { fieldInputPropTypes } from 'redux-form'; 
... 
SuperComponent.propTypes = { 
    ... 
    input: PropTypes.shape(fieldInputPropTypes).isRequired, 
    ... 
}; 
+0

我已经习惯使用这些出口propTypes整体propType。我不得不在源代码中忽略它。将它包装到PropType.shape()中实际工作。谢谢。 – Natrezim