我想使用处于相同状态存储的功能来更改状态。
例如,我有一些类似下面的代码。
import { observable, action } from 'mobx';
export default class AddressTime {
@observable addressState = {
departure: {
road: '',
}
};
departureAddress = () => {
new window.daum.Postcode({
oncomplete(data) {
const roadAddr = data.roadAddress;
this.addressState.departure.road = roadAddr;
})
}
我可以通过daum post api制作roadAddr。该方法中还有一个函数叫做oncomplete。
所以当我运行'departureAddress'函数时,
TypeError:this.addressState未定义。
此错误可能来自此方法内部的this.addressState的位置错误。
你能帮我解决这个问题吗?
PS)在这种情况下,我必须使用动作或mobx的计算来更改状态吗?
答案 0 :(得分:1)
该怎么办?
import { observable, action } from 'mobx';
export default class AddressTime {
@observable
addressState = {
departure: {
road: '',
}
};
@action
departureAddress = () => {
const _this = this
new window.daum.Postcode({
oncomplete(data) {
const roadAddr = data.roadAddress;
_this.addressState.departure.road = roadAddr;
}
})
}
}