From 55965c48521973f7c693074fdad87f77f0beb567 Mon Sep 17 00:00:00 2001 From: "u9lyfish@gmail.com" Date: Thu, 20 Apr 2017 10:40:26 +0800 Subject: [PATCH] Fix React v15.5.0 new deprecation warnings (#1171) * Fix PropTypes deprecation warnings https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html * Fix createClass deprecation warnings https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html --- components/carousel/index.web.tsx | 3 ++- components/date-picker/index.tsx | 3 ++- components/date-picker/index.web.tsx | 3 ++- components/locale-provider/index.tsx | 5 +++-- components/menu/index.tsx | 3 ++- components/nav-bar/index.tsx | 3 ++- components/notice-bar/Marquee.tsx | 3 ++- components/pagination/index.tsx | 3 ++- components/pagination/index.web.tsx | 3 ++- components/range/index.tsx | 3 ++- components/refresh-control/demo/basic.tsx | 3 ++- components/search-bar/demo/basic.tsx | 3 ++- components/table/index.tsx | 3 ++- package.json | 2 ++ site/desktop/src/template/Content/ComponentDoc.jsx | 3 ++- site/desktop/src/template/Content/Demo.jsx | 3 ++- site/desktop/src/template/Content/MainContent.jsx | 3 ++- site/desktop/src/template/Layout/Header.jsx | 5 +++-- site/desktop/src/template/Layout/index.jsx | 3 ++- 19 files changed, 40 insertions(+), 20 deletions(-) diff --git a/components/carousel/index.web.tsx b/components/carousel/index.web.tsx index 7443353afb3..5616dce5b9a 100644 --- a/components/carousel/index.web.tsx +++ b/components/carousel/index.web.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import createReactClass from 'create-react-class'; import classNames from 'classnames'; import ReactCarousel from 'nuka-carousel'; import assign from 'object-assign'; @@ -46,7 +47,7 @@ export default class Carousel extends React.Component { const current = this.state.selectedIndex; if (props.dots) { Decorators = [{ - component: React.createClass({ + component: createReactClass({ render() { const { slideCount, slidesToScroll } = this.props; const arr: number[] = []; diff --git a/components/date-picker/index.tsx b/components/date-picker/index.tsx index 02389f28510..c8f596449b8 100644 --- a/components/date-picker/index.tsx +++ b/components/date-picker/index.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import PropTypes from 'prop-types'; import PopupDatePicker from 'rmc-date-picker/lib/Popup'; import PopupStyles from '../picker/styles'; import { formatFn, getProps as getDefaultProps, getDefaultDate } from './utils'; @@ -16,7 +17,7 @@ export default class DatePicker extends React.Component { }, getDefaultProps()); static contextTypes = { - antLocale: React.PropTypes.object, + antLocale: PropTypes.object, }; render() { diff --git a/components/date-picker/index.web.tsx b/components/date-picker/index.web.tsx index 22b794ae974..11a4051af74 100644 --- a/components/date-picker/index.web.tsx +++ b/components/date-picker/index.web.tsx @@ -1,5 +1,6 @@ /* eslint no-console:0 */ import React from 'react'; +import PropTypes from 'prop-types'; import PopupDatePicker from 'rmc-date-picker/lib/Popup'; import RCDatePicker from 'rmc-date-picker/lib/DatePicker'; import { formatFn, getProps, getDefaultDate } from './utils'; @@ -20,7 +21,7 @@ export default class DatePicker extends React.Component { static defaultProps = getDefaultProps(); static contextTypes = { - antLocale: React.PropTypes.object, + antLocale: PropTypes.object, }; render() { diff --git a/components/locale-provider/index.tsx b/components/locale-provider/index.tsx index 39db8839f7c..431384ce8d0 100644 --- a/components/locale-provider/index.tsx +++ b/components/locale-provider/index.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import PropTypes from 'prop-types'; export interface LocaleProviderProps { locale: { @@ -10,11 +11,11 @@ export interface LocaleProviderProps { export default class LocaleProvider extends React.Component { static propTypes = { - locale: React.PropTypes.object, + locale: PropTypes.object, }; static childContextTypes = { - antLocale: React.PropTypes.object, + antLocale: PropTypes.object, }; getChildContext() { diff --git a/components/menu/index.tsx b/components/menu/index.tsx index 8a545c3d34b..e5f852875ba 100644 --- a/components/menu/index.tsx +++ b/components/menu/index.tsx @@ -1,7 +1,8 @@ import React from 'react'; +import createReactClass from 'create-react-class'; import { MenuProps } from './PropsType'; -const Menu = React.createClass({ +const Menu = createReactClass({ render() { return
TODO for react-native
; }, diff --git a/components/nav-bar/index.tsx b/components/nav-bar/index.tsx index c8f7d0038fc..38d94c76b61 100644 --- a/components/nav-bar/index.tsx +++ b/components/nav-bar/index.tsx @@ -1,7 +1,8 @@ import React from 'react'; +import createReactClass from 'create-react-class'; import NavBarProps from './PropsType'; -const NavBar = React.createClass({ +const NavBar = createReactClass({ render() { return
TODO for react-native
; }, diff --git a/components/notice-bar/Marquee.tsx b/components/notice-bar/Marquee.tsx index 8a286d17641..947fd26ba53 100644 --- a/components/notice-bar/Marquee.tsx +++ b/components/notice-bar/Marquee.tsx @@ -5,6 +5,7 @@ */ import React from 'react'; +import createReactClass from 'create-react-class'; import ReactDOM from 'react-dom'; import assign from 'object-assign'; @@ -18,7 +19,7 @@ export interface MarqueeProp { fps?: number; } -const Marquee = React.createClass({ +const Marquee = createReactClass({ getDefaultProps() { return { text: '', diff --git a/components/pagination/index.tsx b/components/pagination/index.tsx index 827ff67cd50..fec1313c995 100644 --- a/components/pagination/index.tsx +++ b/components/pagination/index.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import PropTypes from 'prop-types'; import { View, Text } from 'react-native'; import Button from '../button'; import Flex from '../flex'; @@ -18,7 +19,7 @@ export default class Pagination extends React.Component { }; static contextTypes = { - antLocale: React.PropTypes.object, + antLocale: PropTypes.object, }; constructor(props) { diff --git a/components/pagination/index.web.tsx b/components/pagination/index.web.tsx index a48adba0675..4f5e1331287 100644 --- a/components/pagination/index.web.tsx +++ b/components/pagination/index.web.tsx @@ -1,5 +1,6 @@ /* tslint:disable:jsx-no-multiline-js */ import React from 'react'; +import PropTypes from 'prop-types'; import classNames from 'classnames'; import Button from '../button'; import Flex from '../flex'; @@ -16,7 +17,7 @@ export default class Pagination extends React.Component { }; static contextTypes = { - antLocale: React.PropTypes.object, + antLocale: PropTypes.object, }; constructor(props) { diff --git a/components/range/index.tsx b/components/range/index.tsx index 8088fa93eea..620687cc831 100644 --- a/components/range/index.tsx +++ b/components/range/index.tsx @@ -1,7 +1,8 @@ import React from 'react'; +import createReactClass from 'create-react-class'; import RangeProps from './PropsType'; -const Range = React.createClass({ +const Range = createReactClass({ render() { return
TODO for react-native
; }, diff --git a/components/refresh-control/demo/basic.tsx b/components/refresh-control/demo/basic.tsx index 2d350cbd46e..e5227131481 100644 --- a/components/refresh-control/demo/basic.tsx +++ b/components/refresh-control/demo/basic.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import createReactClass from 'create-react-class'; import { StyleSheet, View, Text, ScrollView, TouchableWithoutFeedback } from 'react-native'; import { RefreshControl } from 'antd-mobile'; @@ -36,7 +37,7 @@ class Row extends React.Component { } } -export default React.createClass({ +export default createReactClass({ getInitialState() { return { isRefreshing: false, diff --git a/components/search-bar/demo/basic.tsx b/components/search-bar/demo/basic.tsx index fd705d782e3..e235ffe9491 100644 --- a/components/search-bar/demo/basic.tsx +++ b/components/search-bar/demo/basic.tsx @@ -1,8 +1,9 @@ import React from 'react'; +import createReactClass from 'create-react-class'; import { View, Alert } from 'react-native'; import { SearchBar } from 'antd-mobile'; -export default React.createClass({ +export default createReactClass({ getInitialState() { return { value: '美食', diff --git a/components/table/index.tsx b/components/table/index.tsx index 4e3892193d0..196c0dd9452 100644 --- a/components/table/index.tsx +++ b/components/table/index.tsx @@ -1,6 +1,7 @@ import React from 'react'; +import createReactClass from 'create-react-class'; -const Table = React.createClass({ +const Table = createReactClass({ render() { return
TODO for react-native
; }, diff --git a/package.json b/package.json index a739a03432d..286de9b6cf2 100644 --- a/package.json +++ b/package.json @@ -31,11 +31,13 @@ "array-tree-filter": "~1.0.0", "babel-runtime": "6.x", "classnames": "~2.2.1", + "create-react-class": "^15.5.2", "moment": "~2.18.1", "normalize.css": "^6.0.0", "nuka-carousel": "~2.0.4", "object-assign": "~4.1.0", "omit.js": "~0.1.0", + "prop-types": "^15.5.8", "rc-checkbox": "~2.0.0", "rc-collapse": "~1.7.0", "rc-dialog": "~6.5.7", diff --git a/site/desktop/src/template/Content/ComponentDoc.jsx b/site/desktop/src/template/Content/ComponentDoc.jsx index 1a4f13afb8d..b4b1737795b 100644 --- a/site/desktop/src/template/Content/ComponentDoc.jsx +++ b/site/desktop/src/template/Content/ComponentDoc.jsx @@ -1,4 +1,5 @@ import React from 'react'; +import PropTypes from 'prop-types'; import DocumentTitle from 'react-document-title'; import classNames from 'classnames'; import { FormattedMessage } from 'react-intl'; @@ -10,7 +11,7 @@ import Demo from './Demo'; export default class ComponentDoc extends React.Component { static contextTypes = { - intl: React.PropTypes.object, + intl: PropTypes.object, } constructor(props) { diff --git a/site/desktop/src/template/Content/Demo.jsx b/site/desktop/src/template/Content/Demo.jsx index a0152bf408e..89970a41a93 100644 --- a/site/desktop/src/template/Content/Demo.jsx +++ b/site/desktop/src/template/Content/Demo.jsx @@ -1,12 +1,13 @@ /* eslint react/no-danger: 0 */ import React from 'react'; +import PropTypes from 'prop-types'; import classNames from 'classnames'; import { FormattedMessage } from 'react-intl'; import { Button, Modal, Radio } from 'antd'; export default class Demo extends React.Component { static contextTypes = { - intl: React.PropTypes.object, + intl: PropTypes.object, } state = { diff --git a/site/desktop/src/template/Content/MainContent.jsx b/site/desktop/src/template/Content/MainContent.jsx index cb6646582c4..4dbcc492157 100644 --- a/site/desktop/src/template/Content/MainContent.jsx +++ b/site/desktop/src/template/Content/MainContent.jsx @@ -1,4 +1,5 @@ import React from 'react'; +import PropTypes from 'prop-types'; import { Link } from 'bisheng/router'; import Menu from 'antd/lib/menu'; import Row from 'antd/lib/row'; @@ -11,7 +12,7 @@ const SubMenu = Menu.SubMenu; export default class MainContent extends React.Component { static contextTypes = { - intl: React.PropTypes.object.isRequired, + intl: PropTypes.object.isRequired, } componentDidMount() { diff --git a/site/desktop/src/template/Layout/Header.jsx b/site/desktop/src/template/Layout/Header.jsx index d46b75197ab..3cc1f0f9ce0 100644 --- a/site/desktop/src/template/Layout/Header.jsx +++ b/site/desktop/src/template/Layout/Header.jsx @@ -1,4 +1,5 @@ import React from 'react'; +import PropTypes from 'prop-types'; import { Link } from 'bisheng/router'; import { FormattedMessage } from 'react-intl'; import enquire from 'enquire.js'; @@ -12,8 +13,8 @@ const Option = Select.Option; export default class Header extends React.Component { static contextTypes = { - router: React.PropTypes.object.isRequired, - intl: React.PropTypes.object.isRequired, + router: PropTypes.object.isRequired, + intl: PropTypes.object.isRequired, } constructor(props) { diff --git a/site/desktop/src/template/Layout/index.jsx b/site/desktop/src/template/Layout/index.jsx index 8d06969e20e..18df296c9ae 100644 --- a/site/desktop/src/template/Layout/index.jsx +++ b/site/desktop/src/template/Layout/index.jsx @@ -1,4 +1,5 @@ import React, { cloneElement } from 'react'; +import PropTypes from 'prop-types'; import ReactDOM from 'react-dom'; import { addLocaleData, IntlProvider } from 'react-intl'; import Header from './Header'; @@ -19,7 +20,7 @@ if (typeof window !== 'undefined') { export default class Layout extends React.Component { static contextTypes = { - router: React.PropTypes.object.isRequired, + router: PropTypes.object.isRequired, }; constructor(props) { super(props);