我有类似这样的东西:
export const LocalesModel = PropTypes.shape({
defaultLocale: PropTypes.string.isRequired,
supportedLanguages: PropTypes.arrayOf(PropTypes.string).isRequired,
messages: MessageModel,
});
在组件中,我得到的模型是这样的:
import { LocalesModel } from '...';
const Component = () => ...
Component.propTypes = {
supportedLanguages: ???
}
我希望能够做类似的事情:
Component.propTypes = {
supportedLanguages: LocalesModel.supportedLanguages
}
但是我知道这行不通。有什么方法可以获取PropTypes形状的属性-还是我只需要从supportedLanguages
中提取LocalesModel
?
答案 0 :(得分:0)
您可以不使用PropTypes.shape
导出形状:
export const LocalesModel = {
defaultLocale: PropTypes.string.isRequired,
supportedLanguages: PropTypes.arrayOf(PropTypes.string).isRequired,
messages: MessageModel,
};
然后在使用它的位置添加PropTypes.shape
:
Component.propTypes = {
supportedLanguages: PropTypes.shape(LocalesModel.supportedLanguages)
}