andreypopp / andreypopp/react-async
this.<function from another mixin> is undefined in browser (isomorphic app)
- Langage dominant
- JavaScript
- Étoiles
- 440
- Forks
- 24
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
I've been experiencing a weird issue when using react-async in conjunction with react-router-component in my isomorphic app.
Given the following mixin:
``` javascript
...
MyMixin = {
foo: function() {
console.log("hello!");
}
}
...
```
and the React class:
``` javascript
...
var MyView = React.createClass({
mixins: [Async.Mixin, MyMixin],
getInitialStateAsync: function(cb) {
this.foo(); // only works in the browser
...
}
...
});
```
When mounting, the browser will throw an error saying `this.foo()` is undefined. The workaround is to do something like (courtesy of @theadam):
``` javascript
...
var MyView = React.createClass({
mixins: [Async.Mixin, MyMixin],
getInitialStateAsync: function(cb) {
var component = this.type && this.type.prototype ? this.type.prototype : this;
component.foo(); // Works now
...
}
});
```
Obviously, the fix is less than ideal when using it in a larger app. Am I doing something wrong or is this an oversight?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Évaluation
Cette issue n'a pas encore été évaluée.