Skip to content

Commit cac3e15

Browse files
authored
Merge pull request #839 from BookOfGreg/fix-#832
Fallback to Render if Hydrate is not defined
2 parents 6a54c42 + a913f6b commit cac3e15

File tree

6 files changed

+19
-11
lines changed

6 files changed

+19
-11
lines changed

Diff for: CHANGELOG.md

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
# react-rails
22

3-
#### Breaking Changes
4-
5-
#### New Features
6-
7-
#### Deprecation
8-
3+
## 2.4.2
94
#### Bug Fixes
5+
- ReactDOM.hydrate() may not be defined for everyone, it will now use hydrate if it is defined or fallback to render #832
106

117
## 2.4.1
128

Diff for: CONTRIBUTING.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ It outputs an ironically webpacked couple of files into `lib/assets/react-source
108108
##### Updating ReactRailsUJS
109109
- Update the UJS with `rake ujs:update`
110110
- (For Maintainers) To release a new NPM version:
111-
- Update the version in `react_ujs/package.json`
111+
- Update the version in `package.json`
112112
- Commit & push to master
113113
- `bundle exec rake ujs:publish` (runs `npm publish`)
114114

Diff for: lib/assets/javascripts/react_ujs.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,11 @@ var ReactRailsUJS = {
315315
}
316316
throw new Error(message + ". Make sure your component is available to render.")
317317
} else {
318-
ReactDOM.hydrate(React.createElement(constructor, props), node);
318+
if (typeof ReactDOM.hydrate === "function") {
319+
ReactDOM.hydrate(React.createElement(constructor, props), node);
320+
} else {
321+
ReactDOM.render(React.createElement(constructor, props), node);
322+
}
319323
}
320324
}
321325
},

Diff for: package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react_ujs",
3-
"version": "2.4.1",
3+
"version": "2.4.2",
44
"description": "Rails UJS for the react-rails gem",
55
"main": "react_ujs/index.js",
66
"files": [

Diff for: react_ujs/dist/react_ujs.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,11 @@ var ReactRailsUJS = {
315315
}
316316
throw new Error(message + ". Make sure your component is available to render.")
317317
} else {
318-
ReactDOM.hydrate(React.createElement(constructor, props), node);
318+
if (typeof ReactDOM.hydrate === "function") {
319+
ReactDOM.hydrate(React.createElement(constructor, props), node);
320+
} else {
321+
ReactDOM.render(React.createElement(constructor, props), node);
322+
}
319323
}
320324
}
321325
},

Diff for: react_ujs/index.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,11 @@ var ReactRailsUJS = {
9090
}
9191
throw new Error(message + ". Make sure your component is available to render.")
9292
} else {
93-
ReactDOM.hydrate(React.createElement(constructor, props), node);
93+
if (typeof ReactDOM.hydrate === "function") {
94+
ReactDOM.hydrate(React.createElement(constructor, props), node);
95+
} else {
96+
ReactDOM.render(React.createElement(constructor, props), node);
97+
}
9498
}
9599
}
96100
},

0 commit comments

Comments
 (0)