【发布时间】:2020-09-15 14:55:09
【问题描述】:
我有一个简单的 React 类,用 MobX @observer 注释和一个简单的数据结构(用@observable data = { .. } 注释。一个动作更新了这个结构,但会渲染。
这是该类的源代码:-
import React, {Component, Fragment} from 'react';
import {observer} from "mobx-react";
import {observable} from "mobx";
import {withRouter} from 'react-router-dom';
@observer
@withRouter
class UpdateDetailsForm extends Component {
constructor(props) {
super(props);
this.onClick = this.onClick.bind(this);
}
@observable data = {
error: ""
};
onClick () {
this.data.error = "error has occurred";
console.log("Something has happened!"); // testing purposes
}
render() {
return (
<div>
<div className="red">[ {this.data.error} ]</div>
<input type="button" value="Click Me!" onClick={this.onClick} />
</div>
);
}
}
但是,当我单击按钮时,控制台会显示...
Something has happened!
...证明data 的状态发生了变化,但 HTML 没有更新。
【问题讨论】:
标签: reactjs mobx mobx-react