Может регистрировать обновленное значение, но не может отобразить его с помощью потока mobx. - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь сделать действительно простой вызов API без какой-либо логики c. Хотя в консоли я получаю неразборчивый объект с именем 'proxy' (не ожидается), я не могу вернуть что-либо в рендере ( ), и он выдает ошибку типа. мой код:

`Store:



import {observable, configure, action,flow, computed, decorate, set, runInAction} from 'mobx';
import {observer, inject} from 'mobx-react'
configure({enforceActions:'observed'})

class GenStore {
  verseData = []
  state = "pending"

  getVerseData = flow(function*() {
      this.verseData = []
      this.state = "pending"
      try {
          const response = yield fetch('https://api.quranwbw.com/2/10') 
          const data = response.json()
          this.state = "done"
          this.verseData = data 
      } catch (error) {
          this.state = "error"
      }
  })
}

decorate(GenStore, {state:observable, verseData: observable, getVerseData:action})

  export default new GenStore()

Retrieval:

import {observable, configure, action,flow, computed, decorate, set, runInAction} from 'mobx';
  import { computedFn } from "mobx-utils"
  import {observer, inject} from 'mobx-react'
  import React from 'react'
  import GenStore from './GenStore'

class Show extends React.Component{
    componentDidMount(){
      this.props.GenStore.getVerseData()
    }
    render(){
      console.log(this.props.GenStore.verseData)
    return <h1>{this.props.GenStore.verseData.words[0].word_arabic}</h1>
    }
  }
  export default inject('GenStore')(observer(Show))

ошибка возвращается, когда я пытаюсь сделать: TypeError: Невозможно прочитать свойство '0' из неопределенного

Любая помощь будет оценена. Спасибо заранее. Да, и если у вас есть какие-либо предложения относительно того, как реализовать этот вызов, если вы считаете, что поток не является методом выбора, пожалуйста, сообщите мне и скажите, как я могу сделать это лучше всего

...