Javascript 在使用表挂钩之前,反应表检查数据是否存在
我是react表的新手,实际上我正试图将蹩脚的react-bootstrap-table2重写为react表 我使用axios获取数据,然后在我的react表组件中使用useSelect进行检索。然后在useTable钩子中使用它们,但是Javascript 在使用表挂钩之前,反应表检查数据是否存在,javascript,reactjs,react-table,Javascript,Reactjs,React Table,我是react表的新手,实际上我正试图将蹩脚的react-bootstrap-table2重写为react表 我使用axios获取数据,然后在我的react表组件中使用useSelect进行检索。然后在useTable钩子中使用它们,但是 import React from "react"; import {useSelector} from "react-redux"; import {useTable} from "react-table"; function Table() { let
import React from "react";
import {useSelector} from "react-redux";
import {useTable} from "react-table";
function Table() {
let testsData = useSelector(state =>
state.fetchTestsData.testsData);
console.log("testData to show in table ", testsData);
testsData = !(testsData === null || testsData.length === 0) ? [];
const columns = React.useMemo(
() => [
{
Header: '1',
accessor: '1column',
},
{
Header: '2',
accessor: '2column',
},
],
[]
);
const {
getTableProps,
getTableBodyProps,
headerGroups,
rows,
prepareRow,
} = useTable({columns, testsData});
const {
getTableProps,
getTableBodyProps,
headerGroups,
rows,
prepareRow,
} = useTable({columns, testsData});
有一个时刻,没有数据。我不能把useTable放在状态中,因为它是钩子。如何检查我的数据是否存在?react表给了我TypeError:无法读取未定义的属性“forEach”
p、 我更新了上面的代码片段。它仍然给我一个错误
即使我声明testsData=[];并将其传递给useTable-它给出了一个错误我刚才在试图用状态存储数据时遇到了同样的问题。查看控制台日志错误,我注意到undefined的错误是指插件中名为
data
的变量
由于您将该变量名更改为testsData
,插件无法找到它要查找的内容。我意识到我需要在一个页面上有多个表,所以仅仅使用data
对我来说是不够的。在研究API()时,我发现您可以为数据传入键data
,但您需要将该值设置为同一行上的testsData
var,这样可以清除错误:
const {
getTableProps,
getTableBodyProps,
headerGroups,
rows,
prepareRow,
} = useTable({columns, data: testsData});
在代码中的某个地方给
testData
一个默认值。德鲁·里斯(Drew Reese)嗯,不知怎么收到了一个负号。它在redux。好的,根据你说的,我让testsData=[];testsData=useSelector(state=>state.fetchTestsData.testsData);-由于运气不好,它仍然声称它是未定义的。不过,这是可以预测的。为什么是负?目前还不清楚是什么原因导致了这个问题。你的问题需要更多的细节和背景。示例对于更快地解决问题有很大帮助。关于testsData
的来源以及在useTable
@Drew Reese的过程中与之相关的信息显而易见。我正在使用axios.get('http:/url/')检索数据,[]); 然后我从redux testsData=useSelector(state=>state.fetchTestsData.testsData)接收它们;这就是全部。没有奇迹。问题是我如何检查数据的存在,当然应该有一些方法来使用react TableDosresponse进行检查。当您将数据分派到存储状态时,data
在其中定义了表数据?在此之前,减速机中的state.fetchTestsData.testsData
的初始状态值是多少。何时发出axios请求以填充状态?当我说给testsData
一个初始值时,我的意思是您可以提供它作为其源,在state中是默认值,或者在选择器中是回退值。