首页 > 解决方案 > 使用反应打字稿获取没有数据获取

问题描述

我是对打字稿做出反应的新手,我按照教程进行改进,目前我尝试通过 tvmaze api 的 fetch 方法获取一些数据,但没有任何结果,我不明白为什么有任何解决方案?:

    import React , { Fragment, useEffect, useContext } from 'react'
    import Store from '../Store/Store'
    import "core-js/stable";
    import "regenerator-runtime/runtime";

    export default function App() {

      const {state, dispatch} = useContext(Store)

      useEffect(() => {
        state.episodes.length === 0 && fetchDataAction()
      })

      const fetchDataAction = async () => {
        const URL = 'http://api.tvmaze.com/singlesearch/shows?q=rick-&-morty&embed=episodes'
        const data = await fetch(URL);
        const dataJSON = await data.json();
        return  dispatch({
          type: 'FETCH-DATA',
          payload: dataJSON._embedded.episodes
        })
      }


      return (
        <Fragment>
          {console.log(state)}
          <h1>Rick and Morty</h1>
          <p>Pick your favorite episode!!!</p>
          <section>
            {state.episodes.map((episode: any) => {
              return (
                <section key={episode.id}>
                  <img src={episode.image.medium} alt={`Rick and Morty ${episode.name}`} />
                  <section>
                    Season: {episode.season} Number: {episode.number}
                  </section>
                </section>
              )
            })}
          </section>
        </Fragment>
      )
    }


export default app

标签: javascriptreactjstypescriptapifetch

解决方案


推荐阅读