mobxmobx-react

set array of data into mobx array show proxy objects


I'm using react js with mobx and I get data from api. the data I get is array of objects. when I set the data into mobx variable then I see array of proxy objects(not sure what the proxy says). I'm trying just to set the array of objects I get from api into mobx variable.

my store

class UserStore {
@persist @observable token = null
@observable tasks = []
@observable done = false

@persist @observable email = ''

constructor() {

}
@action
getTasks = async () => {
    try {
        let response = await Api.getTasks()
        console.log('getTasks',response.tasks)
        this.tasks = response.tasks
        console.log('my new tasks',this.tasks)

    } catch (e) {
        console.log(e)
    }
}

enter image description here

as you can see here in the first block('black') the data i get from api, then i set the respnse.tasks into this.tasks.

 this.tasks = response.tasks
  console.log('my new tasks',this.tasks)

Solution

  • It depends on how you want to observe the data.

    "I'm trying just to set the array of objects I get from api into mobx variable"

    is not really your end-goal.

    If you want your observers to:

    Like indicated in the comments, mobx5 is using Proxy and some behaviour might differ compared to previous version.

    More info: Mobx arrays, Mobx decorators, shallow observability

    Note: you would need to give more details if this does not help you, like your react component code.