Lors du chargement de la page, je vois "hi2" Lorsque je clique sur le bouton, rien ne se passe. J'ai aussi essayé avec setUser
.Réagissez pas de modification après le changement d'observateur mobx
Je suppose que je suis en train d'éditer les accessoires eux-mêmes et d'une manière ou d'une autre l'observable n'est pas déclenchée?
Voir le code de l'échantillon de celui-ci ne fonctionne pas ici dans une nouvelle marque rails/réagir environnement: https://github.com/bufordtaylor/mobxtest
- clone
- paquet rails s
- (dans un autre processus) ./bin/ webpack-dev-server --host 127.0.0.1
- naviguer vers localhost: 3000
======================
MISE À JOUR:
Je l'ai réduit à sa forme de base, ce qui élimine les erreurs d'importation possibles, fournisseur des erreurs ou des erreurs de constructeur.
Ici, il est
import React from 'react'
import ReactDOM from 'react-dom'
import { observable, action, computed } from 'mobx';
import { Provider, inject, observer } from 'mobx-react';
class UserStore {
@action setUser(val) {
console.log(val);
this.user = val;
}
@observable user = "default";
}
const userStore = new UserStore();
@observer
class Hello extends React.Component {
render() {
return (
<div>
hi2 {this.props.userStore.user}
<button onClick={this.props.userStore.setUser.bind(this,"fwefwe")}>faew</button>
</div>
)
}
}
document.addEventListener('DOMContentLoaded',() => {
ReactDOM.render(
<Hello userStore={userStore} />,
document.getElementById('app'),
)
})
[** Cela fonctionne pour moi **] (http://jsbin.com/xosusiduci/edit?js,output). Pouvez-vous déterminer ce qui diffère dans votre cas? – Tholle
Pas de chance. J'ai copié votre code directement dans mon éditeur. @Tholle. – wiznaibus
C'est ennuyeux. La seule chose que je vois qui semble un peu suspect est le 'import UserStore de '../ bundles/User/stores/UserStore';'. Est-ce que '../ bundles/User/stores/UserStore' est l'importation prévue? – Tholle