ReactJs-验证PropType

ReactJs-验证PropType,reactjs,validation,properties,react-proptypes,Reactjs,Validation,Properties,React Proptypes,我有下面的道具 this.props.history.push('/'); 它在尝试验证时抛出错误 AddPerson.propTypes = { history: React.PropTypes.Object, } 我的声明 import React, { Component } from 'react'; import axios from 'axios'; 知道我如何验证这个属性吗 编辑: 所以我的声明现在看起来像 import React, { Component } from

我有下面的道具

this.props.history.push('/');
它在尝试验证时抛出错误

AddPerson.propTypes = {
  history: React.PropTypes.Object,
}
我的声明

import React, { Component } from 'react';
import axios from 'axios';
知道我如何验证这个属性吗

编辑:


所以我的声明现在看起来像

import React, { Component } from 'react';
import PropTypes from 'prop-types';
import axios from 'axios';
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import axios from 'axios';
因为历史不是必需的道具,所以我使用了默认道具

AddPerson.defaultProps = {
  history: PropTypes.Object,
};
AddPerson.defaultProps = {
  history: PropTypes.Object,
};
希望这对某人有所帮助。

应该是这样

AddPerson.propTypes = {
  history: React.PropTypes.object
}
而不是

AddPerson.propTypes = {
  history: React.PropTypes.Object //should be object
}

所以我的声明现在看起来像

import React, { Component } from 'react';
import PropTypes from 'prop-types';
import axios from 'axios';
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import axios from 'axios';
因为历史不是必需的道具,所以我使用了默认道具

AddPerson.defaultProps = {
  history: PropTypes.Object,
};
AddPerson.defaultProps = {
  history: PropTypes.Object,
};

您使用的是哪个版本的react?在最新版本中,您必须安装
道具类型
,然后从“道具类型”导入
道具类型
然后你可以使用
AddPerson.PropTypes
,那不是一个数组,不是一个对象吗?@Aaqib是的,那是它的一部分,是一个旧版本。删除
isRequired
,因为OP没有指定。这是一个答案吗?如果没有,请在问题中更新。