我用MOBX写了一些代码!现在我有了一个输入字段,我取这个值并将这个字符串发送给API并获取数据!之后,我从商店获得数据,但当我在输入中输入新城市时,数据不会刷新!我想在输入中添加城市并立即显示天气数据!!!!
下面是我在CodeSandbox上的代码: https://codesandbox.io/s/practical-wood-p13yd?file=/src/Components/NewNoteInput.tsx
您需要在您的商店构造函数中添加makeObservable
调用:
constructor() {
// this.weather = '';
this.weathers = [];
this.fetchingData = false;
makeObservable(this);
}
当我设置observable
时,mobx-react observer don't会触发同时,将API链接更改为https:const BASEURL = "https://api.openweathermap.org";
另外,分配API响应weathers
是没有意义的,因为您的weathers
属性是一个数组。你需要向它推送对象,就像这样:
runInAction(() => {
// That way every new weather response will be added to your array
this.weathers.push(weather);
this.fetchingData = false;
});