使用react v15.5进行类型检查。不推荐使用React.PropTypes

时间:2017-04-08 11:03:26

标签: reactjs react-proptypes

当我访问React文档页面时,我看到现在没有关于使用PropTypes进行类型检查的指南。然后我打开关于react context的指南,我看到消息说我现在应该使用prop-types library。但是这个库没有文档。我想知道如何在React中使用它。

2 个答案:

答案 0 :(得分:2)

虽然这个问题对于Stack Overflow来说是一个偏离主题的问题,但它让我对这一变化有所了解,所以谢谢:)我发现了一篇解释变化的文章here。引用:

  

[...]而不是从主React对象访问PropTypes,安装prop-types包并从那里导入它们:

import React from 'react';
import PropTypes from 'prop-types';      //// CHANGE (1) HERE

class Component extends React.Component {
  [...]
}
Component.propTypes = {
  text: PropTypes.string.isRequired      //// CHANGE (2) HERE
}

答案 1 :(得分:1)

为了减少React核心的大小,已将prop类型移出到自己的包中(prop-types)。

新的prop-types模块的工作方式与原始的React one完全相同,除非您现在通过导入PropTypes对象来访问它,而不是作为React的属性。

import PropTypes from 'prop-types';

myComponent.propTypes = {
  foo: PropTypes.string
};

// rather than

myComponent.propTypes = {
  foo: React.PropTypes.string
};

此弃用警告仅在昨天发布的React v15.5中登陆。我想文档会在很长时间内稳定下来。

目前,只要您遵循上述规则,目前的文档仍然可以。