diff --git a/docs/index.jsx b/docs/index.jsx index c6079700f..577610c66 100644 --- a/docs/index.jsx +++ b/docs/index.jsx @@ -1,7 +1,7 @@ 'use strict'; var React = require('react'); -var ReactDOM = require('react-dom'); +var ReactDOM = require('../src/mixins/ReactDOM'); var Docs = require('./docs'); React.initializeTouchEvents && React.initializeTouchEvents(true); diff --git a/src/mixins/ReactDOM.js b/src/mixins/ReactDOM.js new file mode 100644 index 000000000..4ac459673 --- /dev/null +++ b/src/mixins/ReactDOM.js @@ -0,0 +1,6 @@ +import React from 'react'; +import ReactDOM14 from 'react-dom'; + +var ReactDOM = (React.version >= '0.14.0') ? ReactDOM14: React; + +export default ReactDOM; diff --git a/src/mixins/helpers.js b/src/mixins/helpers.js index 04cb2e987..66d0f11f1 100644 --- a/src/mixins/helpers.js +++ b/src/mixins/helpers.js @@ -1,7 +1,7 @@ 'use strict'; import React from 'react'; -import ReactDOM from 'react-dom'; +import ReactDOM from './ReactDOM'; import ReactTransitionEvents from 'react/lib/ReactTransitionEvents'; import {getTrackCSS, getTrackLeft, getTrackAnimateCSS} from './trackHelper'; import assign from 'object-assign'; @@ -9,7 +9,7 @@ import assign from 'object-assign'; var helpers = { initialize: function (props) { var slideCount = React.Children.count(props.children); - var listWidth = this.getWidth(this.refs.list); + var listWidth = this.getWidth(ReactDOM.findDOMNode(this.refs.list)); var trackWidth = this.getWidth(ReactDOM.findDOMNode(this.refs.track)); var slideWidth = this.getWidth(ReactDOM.findDOMNode(this))/props.slidesToShow; @@ -21,7 +21,6 @@ var helpers = { listWidth: listWidth, trackWidth: trackWidth, currentSlide: currentSlide - }, function () { var targetLeft = getTrackLeft(assign({ @@ -40,7 +39,7 @@ var helpers = { // This method has mostly same code as initialize method. // Refactor it var slideCount = React.Children.count(props.children); - var listWidth = this.getWidth(this.refs.list); + var listWidth = this.getWidth(ReactDOM.findDOMNode(this.refs.list)); var trackWidth = this.getWidth(ReactDOM.findDOMNode(this.refs.track)); var slideWidth = this.getWidth(ReactDOM.findDOMNode(this))/props.slidesToShow; @@ -68,7 +67,7 @@ var helpers = { if (this.props.adaptiveHeight) { var selector = '[data-index="' + this.state.currentSlide +'"]'; if (this.refs.list) { - var slickList = this.refs.list; + var slickList = ReactDOM.findDOMNode(this.refs.list); slickList.style.height = slickList.querySelector(selector).offsetHeight + 'px'; } } diff --git a/src/mixins/trackHelper.js b/src/mixins/trackHelper.js index 72ee33b8c..57eb9169f 100644 --- a/src/mixins/trackHelper.js +++ b/src/mixins/trackHelper.js @@ -1,5 +1,5 @@ 'use strict'; -import ReactDOM from 'react-dom'; +import ReactDOM from './ReactDOM'; var checkSpecKeys = function (spec, keysArray) { return keysArray.reduce((value, key) => { diff --git a/webpack.config.dist.js b/webpack.config.dist.js index 5455cda64..ff2d97d96 100644 --- a/webpack.config.dist.js +++ b/webpack.config.dist.js @@ -34,7 +34,7 @@ module.exports = { commonjs2: 'react-dom', commonjs: 'react-dom', amd: 'react-dom' - }, + } } ], diff --git a/webpack.config.js b/webpack.config.js index 16e04af82..643b1ffa7 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -7,8 +7,8 @@ module.exports = { entry: { 'docs.js': [ './docs/index.jsx', - 'webpack/hot/only-dev-server', - 'webpack-dev-server/client?http://localhost:8000' + // 'webpack/hot/only-dev-server', + // 'webpack-dev-server/client?http://localhost:8000' ] }, output: { @@ -32,7 +32,7 @@ module.exports = { extensions: ['', '.js', '.jsx'] }, plugins: [ - new webpack.HotModuleReplacementPlugin(), + // new webpack.HotModuleReplacementPlugin(), new webpack.NoErrorsPlugin(), new webpack.IgnorePlugin(/vertx/) ]