Reactjs TypeScript-React-Babel-ReferenceError:Can';找不到变量:regeneratorRuntime

Reactjs TypeScript-React-Babel-ReferenceError:Can';找不到变量:regeneratorRuntime,reactjs,typescript,babeljs,Reactjs,Typescript,Babeljs,我正在学习打字,反应和巴别塔。这是我的密码 export default function App() : JSX.Element { console.log('+++++ came inside App +++++++ '); const {state, dispatch} = useContext(Store); useEffect(() => { console.log('came inside use effect') sta

我正在学习打字,反应和巴别塔。这是我的密码

export default function App() : JSX.Element {
    console.log('+++++ came inside App +++++++ ');
    const {state, dispatch} = useContext(Store);
    useEffect(() => {
        console.log('came inside use effect')
        state.episodes.length === 0 && fetchDataAction()
    });

    const fetchDataAction = async () => {
        console.log('came inside fetch data');
        const URL = 'https://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>
            <h1>Rick and Morty</h1>
            <p>Pick your favorite episode!!!</p>
            {console.log(state)}
        </Fragment>
    )
}
我在谷歌上找到了这条线

但我仍然不知道这个人到底做了什么来解决这个问题。有没有可能有人再给我解释一下这个解决方案。我不知道polyfills是什么


这是我的全部代码,显示了我的babel和webpack配置

我一直在用谷歌搜索和试验,我能够解决这个问题。这里有一个更逐步的答案

  • 纱线添加@babel/runtime
  • 纱线添加-D@babel/plugin转换运行时
  • 现在对
    .babelrc
    文件进行以下更改

    {
        "presets": ["@babel/preset-env", "@babel/typescript", "@babel/react"],
        "plugins": [
            ["@babel/plugin-transform-runtime",
            {
              "regenerator": true
            }]
          ]
    }
    
    进行这些更改后,所有4个问题都得到了解决

  • Babel引用错误:找不到变量:regeneratorRuntime
  • 错误:找不到模块'@babel/runtime/helpers/slicedToArray'
  • 模块生成失败:TypeError:this.setDynamic不是函数
  • “polyfill”选项已被删除。@babel/runtime模块现在默认跳过多边形填充

  • 我不断地在谷歌上搜索和试验,终于解决了这个问题。这里有一个更逐步的答案

  • 纱线添加@babel/runtime
  • 纱线添加-D@babel/plugin转换运行时
  • 现在对
    .babelrc
    文件进行以下更改

    {
        "presets": ["@babel/preset-env", "@babel/typescript", "@babel/react"],
        "plugins": [
            ["@babel/plugin-transform-runtime",
            {
              "regenerator": true
            }]
          ]
    }
    
    进行这些更改后,所有4个问题都得到了解决

  • Babel引用错误:找不到变量:regeneratorRuntime
  • 错误:找不到模块'@babel/runtime/helpers/slicedToArray'
  • 模块生成失败:TypeError:this.setDynamic不是函数
  • “polyfill”选项已被删除。@babel/runtime模块现在默认跳过多边形填充

  • 如果其他人看到这篇文章,我也会删除预设。我的代码既不是typescript,也不是react。如果其他人看到这篇文章,它通过删除预设也对我有效。我的代码既不是typescript也不是react。