Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 错误:使用react时出现意外的严格模式保留字_Javascript_Reactjs_Async Await_Axios_React Hooks - Fatal编程技术网

Javascript 错误:使用react时出现意外的严格模式保留字

Javascript 错误:使用react时出现意外的严格模式保留字,javascript,reactjs,async-await,axios,react-hooks,Javascript,Reactjs,Async Await,Axios,React Hooks,我正在使用react在这里编写演示: 我知道wait和async方法有问题。但我不知道为什么。 如果单独使用aixos.get().,效果会很好,但是如果我将它包装在一个类中,并在useffect中与自定义挂钩一起使用,它会抛出我 意外严格模式保留字 在axiosManager中,关键字async必须写在函数之前,而不是包含函数的变量,因此必须更改 async const fetchMockData = () =>{ const rst = await axios.get('h

我正在使用react在这里编写演示: 我知道
wait
async
方法有问题。但我不知道为什么。 如果单独使用
aixos.get().
,效果会很好,但是如果我将它包装在一个类中,并在
useffect
中与自定义挂钩一起使用,它会抛出我

意外严格模式保留字


在axiosManager中,关键字
async
必须写在函数之前,而不是包含函数的变量,因此必须更改

async const fetchMockData = () =>{
      const rst = await axios.get('https://jsonplaceholder.typicode.com/todos/1');
      return rst;
  }


所以我找到了不能直接在useEffect中使用Wait的原因,因为它不是异步方法。因此,我们可以将其更改为:

  const fetchData = async () => {
    const manager = new AxiosManager();
    let rst = await manager.fetchMockData();
    console.log(rst);
  };

  // effect_fechData();
  useEffect(() => {   
    fetchData();
  });
api经理:

export default class AxiosManager {

   async fetchMockData () {
      const rst = await axios.get('https://jsonplaceholder.typicode.com/todos/1');
      return rst;
  }


};

我知道
axiosManager.fetchMockData()
是问题所在,但我不知道为什么,我认为您应该尝试在axiosManager中玩一下,这可能会解决问题。请发布导致问题的代码error@Bergi,我已经添加了链接:,它可以更好地描述问题。@jzjx118_2不,请感谢您的回答,我已经尝试了,但仍然没有成功。你能在那个演示中编辑我的代码吗?
export default class AxiosManager {

   async fetchMockData () {
      const rst = await axios.get('https://jsonplaceholder.typicode.com/todos/1');
      return rst;
  }


};