Skip to content
This repository was archived by the owner on Dec 13, 2018. It is now read-only.

Commit 7468bfc

Browse files
AndaristKent C. Dodds
authored andcommitted
fix: delay instantation of brcast in ThemeProvider so it can be inited with correct initialState (#365)
1 parent 8cd90bd commit 7468bfc

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/theme-provider.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ import {CHANNEL} from './constants'
1414
* @param {Object} theme the theme object..
1515
*/
1616
class ThemeProvider extends React.Component {
17-
broadcast = brcast(this.props.theme)
18-
1917
// create theme, by merging with outer theme, if present
2018
getTheme(passedTheme) {
2119
const theme = passedTheme || this.props.theme
@@ -40,7 +38,9 @@ class ThemeProvider extends React.Component {
4038

4139
setOuterTheme = theme => {
4240
this.outerTheme = theme
43-
this.publishTheme()
41+
if (this.broadcast !== undefined) {
42+
this.publishTheme()
43+
}
4444
}
4545

4646
publishTheme(theme) {
@@ -59,6 +59,7 @@ class ThemeProvider extends React.Component {
5959
if (this.context[CHANNEL]) {
6060
this.setOuterTheme(this.context[CHANNEL].getState())
6161
}
62+
this.broadcast = brcast(this.getTheme(this.props.theme))
6263
}
6364

6465
componentWillReceiveProps(nextProps) {

0 commit comments

Comments
 (0)