Mobx State Tree, с Ignite Bowler у вас будет файл api.ts, в котором вы можете указать вызовы API.
async getUser(userToken: string): Promise<Types.GetUserResult> {
// make the api call
const response: ApiResponse<any> = await this.apisauce.post(`api/v1/sales/login?authCode=${userToken}`)
if (!response.ok) {
const problem = getGeneralApiProblem(response)
if (problem) return problem
}
// transform the data into the format we are expecting
try {
try {
const rawUser = response.data
console.log('rawUser'+ rawUser)
const user: UserSnapshot = convertRawUserToUserStore(rawUser)
return { kind: "ok", user }
console.log({ user })
} catch (e) {
__DEV__ && console.tron.log(e.message)
return { kind: "bad-data" }
}
} catch {
return { kind: "bad-data" }
}
}
Обратите внимание, что мы будем получать пользовательские данные из этого вызова API, вы можете заметить, чтоесть UserSnapshot, который принадлежит модели пользователя, Snapshot автоматически сохранит данные, вам не нужно хранилище Aysnc для сохранения или извлечения данных.