【问题标题】:How to Insert data into column from axios如何从axios将数据插入列
【发布时间】:2019-12-20 07:55:40
【问题描述】:

我的 reactjs 应用程序是使用基于函数的构建的,目前尝试以数据网格形式显示来自我的 API 的用户数据。当我测试我的代码时,控制台结果给我一个错误,它说“TypeError:destroy is not a function”。也许是因为我不知道该怎么做。这是我的 reactjs 部分代码。

const [state, setState] = React.useState({
    columns: [
      { title: 'Name', field: 'name' },
      { title: 'Surname', field: 'surname' },
      { title: 'Birth Year', field: 'birthYear', type: 'numeric' },
      {
        title: 'Birth Place',
        field: 'birthCity'
      },
    ]
  });

  useEffect(() => 
    Axios.get('http://localhost/api/User/GetUsers')
    .then(response => {     
      setState(response.data);

      console.log(response.data);
    })
    .catch(error => {
      console.log(error);})    
  );  

我错过了什么吗?

【问题讨论】:

  • 我认为这个错误是由于内存泄漏造成的,所以你可以尝试在 useEffect 中使用空白数组 [ ] 添加依赖,这样它就会调用一次。

标签: javascript reactjs datagrid axios


【解决方案1】:

由于多次调用useEffect和setState导致内存泄漏导致的错误,因此您可以通过useEffect中的空白数组[]定义依赖关系

useEffect(() => {
    Axios.get('http://localhost/api/User/GetUsers')
    .then(response => {     
      setState(response.data);

      console.log(response.data);
    })
    .catch(error => {
      console.log(error);})    
  },[]);

【讨论】:

  • 感谢您的回答,错误现在消失了,但我的数据网格仍然是空的
  • 依赖数组不是这里唯一的问题。 OP 从useEffect 返回获取部分,因为没有任何箭头函数体块。 return 部分在卸载时调用。值得一提。
  • 该语法没有遵循并添加到解决方案中,所以让我编辑一下
  • 我已经看到您添加了正确的语法,但也许 OP 还没有意识到这一点。这就是我发表评论的原因:)
  • 哦,我明白了,谢谢 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-20
  • 2023-04-03
  • 2012-02-06
  • 1970-01-01
  • 1970-01-01
  • 2014-01-06
相关资源
最近更新 更多