Skip to content

Commit 679f190

Browse files
almirfilhoLaurence Bortfeld
authored and
Laurence Bortfeld
committed
Update react prop types and create class for React 16 compatibility (#48)
* Replace react prop types and create class with the new external packages * Replace View.propTypes with the new ViewPropTypes
1 parent b175e17 commit 679f190

File tree

6 files changed

+163
-23
lines changed

6 files changed

+163
-23
lines changed

Slider.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,20 @@
22

33
var React = require('react');
44
var ReactNative = require('react-native');
5-
var {
6-
PropTypes
7-
} = React;
5+
var PropTypes = require('prop-types');
6+
var createReactClass = require('create-react-class');
87
var {
98
StyleSheet,
109
PanResponder,
1110
View,
11+
ViewPropTypes,
1212
TouchableHighlight
1313
} = ReactNative;
1414

1515
var converter = require('./converter.js');
1616
var mockProps = require('./mockProps.js');
1717

18+
var ViewStylePropTypes = ViewPropTypes ? ViewPropTypes.style : View.propTypes.style;
1819

1920

2021
var sliderProps = {
@@ -36,15 +37,15 @@ var sliderProps = {
3637

3738
optionsArray: PropTypes.array,
3839

39-
containerStyle: View.propTypes.style,
40-
trackStyle: View.propTypes.style,
41-
selectedStyle: View.propTypes.style,
42-
unselectedStyle: View.propTypes.style,
43-
markerStyle: View.propTypes.style,
44-
pressedMarkerStyle: View.propTypes.style
40+
containerStyle: ViewStylePropTypes,
41+
trackStyle: ViewStylePropTypes,
42+
selectedStyle: ViewStylePropTypes,
43+
unselectedStyle: ViewStylePropTypes,
44+
markerStyle: ViewStylePropTypes,
45+
pressedMarkerStyle: ViewStylePropTypes
4546
};
4647

47-
var Slider = React.createClass({
48+
var Slider = createReactClass({
4849

4950
propTypes: sliderProps,
5051

customMarker.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@
22

33
var React = require('react');
44
var ReactNative = require('react-native');
5-
var {
6-
PropTypes
7-
} = React;
5+
var PropTypes = require('prop-types');
6+
var createReactClass = require('create-react-class');
87
var {
98
StyleSheet,
109
Image
1110
} = ReactNative;
1211

13-
var CustomMarker = React.createClass({
12+
var CustomMarker = createReactClass({
1413

1514
propTypes: {
1615
pressed: PropTypes.bool,

index.ios.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@ var {
1010
Image
1111
} = ReactNative;
1212

13+
var createReactClass = require('create-react-class');
1314
var MultiSlider = require('./Slider.js');
1415
var customMarker = require('./customMarker.js');
1516

16-
var Slider = React.createClass({
17+
var Slider = createReactClass({
1718

1819
getInitialState: function () {
1920
return {

mockProps.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,21 @@
22

33
var React = require('react');
44
var ReactNative = require('react-native');
5+
var PropTypes = require('prop-types');
6+
var createReactClass = require('create-react-class');
57
var {
6-
PropTypes
7-
} = React;
8-
var {
9-
View
8+
View,
9+
ViewPropTypes
1010
} = ReactNative;
1111

12-
var BasicMarker = React.createClass({
12+
var ViewStylePropTypes = ViewPropTypes ? ViewPropTypes.style : View.propTypes.style;
13+
14+
var BasicMarker = createReactClass({
1315

1416
propTypes: {
1517
pressed: PropTypes.bool,
16-
pressedMarkerStyle: View.propTypes.style,
17-
markerStyle: View.propTypes.style
18+
pressedMarkerStyle: ViewStylePropTypes,
19+
markerStyle: ViewStylePropTypes
1820
},
1921

2022
render: function () {

package-lock.json

Lines changed: 129 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,13 @@
2626
"bugs": {
2727
"url": "https://github.com/JackDanielsAndCode/react-native-multi-slider/issues"
2828
},
29-
"homepage": "https://github.com/JackDanielsAndCode/react-native-multi-slider#readme"
29+
"homepage": "https://github.com/JackDanielsAndCode/react-native-multi-slider#readme",
30+
"peerDependencies": {
31+
"react": "*",
32+
"react-native": "*"
33+
},
34+
"dependencies": {
35+
"create-react-class": "^15.6.2",
36+
"prop-types": "*"
37+
}
3038
}

0 commit comments

Comments
 (0)