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;