@Folzy

Как мне занести список фильмов в mobx?

Храню в mongo db данные фильмов( название и ссылки на обложку и видео) и мне надо их вытащить и добавить в mobx, но когда я достаю их и смотрю что лежит внутри там лежит спик из объектов, но когда я заношу этот список в другую переменную, то там хранится Proxy(Array).
Store.js
import { makeAutoObservable } from 'mobx'
import Auth from '../services/Auth'
import axios from 'axios'
import { API_URL } from '../http'

export default class Store {
  movies

  constructor() {
    makeAutoObservable(this)
  }

  setFilms(films) {
    this.movies = films
  }

  async films() {
    try {
      const res = await axios.get(`${API_URL}/get`, {withCredentials: true})
      console.log();
      this.setFilms()
      console.log(this.movies);
    } catch (e) {
      console.log(e.response?.data?.message);
    }
  }
}


функция получения фильмов
async get() {
    const movies = await MovieSchema.find()

    return {
      movies
    }
  }


Модель фильмов
const { Schema, model } = require('mongoose')

const MovieSchema = new Schema({
  title: {type: String, required: true},
  cover: {type: String, required: true},
  miniCover: {type: String, required: true},
  video: {type: String, required: true},
})

module.exports = model("Movie", MovieSchema)
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
narzantaria
@narzantaria
Программист С++, JavaScript, Node.js, React
Так и есть, Mobx возвращает прокси. Если нужно увидеть данные, то можно с помощью ToJS.
import { makeAutoObservable, toJS } from "mobx";
//
console.log(toJS(this.movies));

И я бы закинул запрос внутрь setFilms
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы