mobx:5.03 反应:16.4.1 mobx反应:5.2.3 导轨:5.0.2 反应轨道宝石
我在react中有一个基本的mobx设置。我正在尝试获取rowData可观察变量以在http请求后在视图中进行更改。但是,一旦将其渲染为默认的“ 111”,它始终保持该值。如何获得mobx更新组件渲染?
import React from "react"
import axios from 'axios'
import { decorate, observable, computed, action } from "mobx"
import { observer } from "mobx-react"
class Device extends React.Component {
rowData = 111 //view always stays at this value
componentDidMount() {
axios.get("/projects.json")
.then(response => { this.rowData = 555 })
.then(() => console.log(this.rowData)) //logs 555
}
render() {
return (
<div>
{this.rowData}
</div>
);
}
}
decorate(Device, {
rowData: observable
})
export default observer(Device);
答案 0 :(得分:1)
尝试用这个做一个构造函数:
constructor(props){
super(props);
makeObservable(this, {
rowData: observable
});
}
不确定这些功能是否在 5 中可用。可能需要升级 Mobx。