2017-08-25 25 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