diff --git a/package.json b/package.json
index c9a6146b..eed1e17d 100644
--- a/package.json
+++ b/package.json
@@ -47,7 +47,6 @@
"rc-form": "^0.5.1",
"rc-tools": "5.x",
"react": "^15.2.0",
- "react-addons-test-utils": "^15.2.0",
"react-dom": "^15.2.0"
},
"pre-commit": [
@@ -55,6 +54,7 @@
],
"dependencies": {
"array-tree-filter": "^1.0.0",
+ "prop-types": "^15.5.8",
"rc-trigger": "1.x",
"rc-util": "4.x",
"shallow-equal": "^1.0.0"
diff --git a/src/Cascader.jsx b/src/Cascader.jsx
index 39e04432..56487040 100644
--- a/src/Cascader.jsx
+++ b/src/Cascader.jsx
@@ -1,4 +1,5 @@
-import React, { Component, PropTypes, cloneElement } from 'react';
+import React, { Component, cloneElement } from 'react';
+import PropTypes from 'prop-types';
import Trigger from 'rc-trigger';
import Menus from './Menus';
import KeyCode from 'rc-util/lib/KeyCode';
diff --git a/src/Menus.jsx b/src/Menus.jsx
index 5d9cab2e..267aab4f 100644
--- a/src/Menus.jsx
+++ b/src/Menus.jsx
@@ -1,4 +1,5 @@
import React from 'react';
+import PropTypes from 'prop-types';
import arrayTreeFilter from 'array-tree-filter';
import { findDOMNode } from 'react-dom';
@@ -128,14 +129,14 @@ Menus.defaultProps = {
};
Menus.propTypes = {
- value: React.PropTypes.array,
- activeValue: React.PropTypes.array,
- options: React.PropTypes.array.isRequired,
- prefixCls: React.PropTypes.string,
- expandTrigger: React.PropTypes.string,
- onSelect: React.PropTypes.func,
- visible: React.PropTypes.bool,
- dropdownMenuColumnStyle: React.PropTypes.object,
+ value: PropTypes.array,
+ activeValue: PropTypes.array,
+ options: PropTypes.array.isRequired,
+ prefixCls: PropTypes.string,
+ expandTrigger: PropTypes.string,
+ onSelect: PropTypes.func,
+ visible: PropTypes.bool,
+ dropdownMenuColumnStyle: PropTypes.object,
};
export default Menus;
diff --git a/tests/index.spec.js b/tests/index.spec.js
index 54fed13a..a98f146b 100644
--- a/tests/index.spec.js
+++ b/tests/index.spec.js
@@ -1,7 +1,7 @@
const expect = require('expect.js');
const React = require('react');
const ReactDOM = require('react-dom');
-const TestUtils = require('react-addons-test-utils');
+const TestUtils = require('react-dom/test-utils');
const Simulate = TestUtils.Simulate;
const Cascader = require('../');
const addressOptions = require('./demoOptions').addressOptions;
@@ -315,23 +315,27 @@ describe('Cascader', () => {
// https://github.com/ant-design/ant-design/issues/5666
it('should have not change active value when value is not changed', (done) => {
- const Demo = React.createClass({
- getInitialState() {
- return { value: [] };
- },
+ class Demo extends React.Component {
+ state = {
+ value: [],
+ };
+
componentDidMount() {
this.timeout = setInterval(() => {
this.setState({
value: [],
});
}, 10);
- },
+ }
+
componentWillUnmount() {
clearInterval(this.timeout);
- },
+ }
+
getPopupDOMNode() {
return this.cascader.getPopupDOMNode();
- },
+ }
+
render() {
return (
{
);
- },
- });
+ }
+ }
instance = ReactDOM.render(, div);
Simulate.click(ReactDOM.findDOMNode(instance));
let menus = instance.getPopupDOMNode().querySelectorAll('.rc-cascader-menu');
diff --git a/tests/keyboard.spec.js b/tests/keyboard.spec.js
index f965ad7f..28594deb 100644
--- a/tests/keyboard.spec.js
+++ b/tests/keyboard.spec.js
@@ -1,7 +1,7 @@
const expect = require('expect.js');
const React = require('react');
const ReactDOM = require('react-dom');
-const TestUtils = require('react-addons-test-utils');
+const TestUtils = require('react-dom/test-utils');
const Simulate = TestUtils.Simulate;
const Cascader = require('../');
const addressOptions = require('./demoOptions').addressOptions;