Javascript 我无法访问数据库中的数据

Javascript 我无法访问数据库中的数据,javascript,reactjs,material-ui,mui-datatable,Javascript,Reactjs,Material Ui,Mui Datatable,我有以下问题:当我在deleteRows函数内部打印shells变量的值时,它会打印一个空对象,但当我在外部(first console.log)打印它时,它会正确地打印数组。这是怎么回事?我通过删除一个值来调用该函数 我试着让箭头函数在代码中显示 import React from 'react'; // import PropTypes from 'prop-types'; //verrificacion de tipos import MUIDataTable from 'mui-da

我有以下问题:当我在deleteRows函数内部打印shells变量的值时,它会打印一个空对象,但当我在外部(first console.log)打印它时,它会正确地打印数组。这是怎么回事?我通过删除一个值来调用该函数

我试着让箭头函数在代码中显示


import React from 'react';
// import PropTypes from 'prop-types';  //verrificacion de tipos
import MUIDataTable from 'mui-datatables';
import columns from '../Objects/columns';

const axios = require('axios');

function SimpleTable(props) {
  const { datos } = props;
  const shells = datos.map(
    dato => Object.values(dato),
  );
  console.log({shells})

  const deleteRows = (RowsDeleted) => {
    const ids = RowsDeleted.data.map(d => d.dataIndex);
    // const idsToDeleted = ids.map(d => shells[d][9]);
    console.log({shells})
    axios({
      method: 'post',
      url: 'http://localhost:5000/eliminado',
      data: RowsDeleted,
    });
  }

  const options = {
    filterType: 'dropdawn',
    responsive: 'stacked',
    onRowsDelete: deleteRows,

  };

  // console.log(shells)
  return (

    <MUIDataTable
      title="NutsForShells"
      data={shells}
      columns={columns}
      options={options}
    />
  );
}

// SimpleTable.propTypes = {
//   classes: PropTypes.object.isRequired,
// };

export default (SimpleTable);


从“React”导入React;
//从“道具类型”导入道具类型//蒂波斯酒店
从“mui数据表”导入MUIDataTable;
从“../Objects/columns”导入列;
const axios=require('axios');
函数SimpleTable(props){
const{datos}=props;
常量shell=datos.map(
dato=>Object.values(dato),
);
console.log({shells})
const deleteRows=(RowsDeleted)=>{
const id=RowsDeleted.data.map(d=>d.dataIndex);
//const idsToDeleted=ids.map(d=>shell[d][9]);
console.log({shells})
axios({
方法:“post”,
网址:'http://localhost:5000/eliminado',
数据:行已删除,
});
}
常量选项={
过滤器类型:“dropdawn”,
响应:“堆叠”,
onRowsDelete:deleteRows,
};
//console.log(shell)
返回(
);
}
//SimpleTable.propTypes={
//类:PropTypes.object.isRequired,
// };
导出默认值(SimpleTable);
通过阅读本文,我发现,我们无法使用
mui datatables
的从外到内
回调
中的数据

onRowsDelete-删除行时触发的回调函数。函数(rowsDeleted:object(查找:{dataindex:boolean},数据:arrayOfObjects:{index,dataindex}))=>void或false(返回false可防止行删除。)

单击删除行时,将获得要删除的行以及完整的数据数组。因此,您的
deleteRows
函数应该采用第二个参数,即数据数组

const deleteRows = (RowsDeleted, data) => {
    const ids = RowsDeleted.data.map(d => d.dataIndex);
    // const idsToDeleted = ids.map(d => shells[d][9]);   //This is possibly this, ids.map(d => data[d][9]) 
    console.log(data)  //Now you will get data
    axios({
      method: 'post',
      url: 'http://localhost:5000/eliminado',
      data: RowsDeleted,
    });
  }

为什么打印时要用大括号把贝壳包起来?只是想试试。无论如何,没有花括号也不行。哈维尔,您好,读一下-,然后试着结束这个问题。非常感谢拉维,这真的帮了我的忙:我试试这个,数据是未定义的。