gpt4 book ai didi

javascript - 在 React Native 应用程序中获取请求后,MobX 存储未更新

转载 作者:行者123 更新时间:2023-12-02 23:06:40 25 4
gpt4 key购买 nike

我创建了一个带有异步获取功能的 MobX 存储。当我调用它时,我从 API 获取数据。我检查了控制台中的数据,它每次都会出现,但 MobX 商店没有改变它仍然是一样的。你能告诉我如何解决吗?

MobX 商店:

import { createContext } from 'react'
import { action, decorate, observable, computed, runInAction } from 'mobx'
import mapObjects from '../utils/mapObjects'

export class DataStore {
data = null
error = false
loading = true


async fetchData(url) {
this.data = null
this.loading = false
try {
console.log('TRY')
const response = await fetch(url)
const jsonResponse = await response.json()
const obj = await mapObjects(jsonResponse)
runInAction(() => {
console.log('WRITE!!!')
this.loading = false
this.data = obj
})
} catch (err) {
runInAction(() => {
console.log(err)
this.loading = false
this.error = err
})
}
}
}

decorate(DataStore, {
data: observable,
error: observable,
loading: observable,
fetchData: observable
})

export default createContext(new DataStore())

最佳答案

在您的 decorate(...) 调用中,您将 fetchData 设为 observable 而不是 action

关于javascript - 在 React Native 应用程序中获取请求后,MobX 存储未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57559110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com