Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.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 在使用表挂钩之前,反应表检查数据是否存在_Javascript_Reactjs_React Table - Fatal编程技术网

Javascript 在使用表挂钩之前,反应表检查数据是否存在

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

我是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 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 TableDos
response进行检查。当您将数据分派到存储状态时,data
在其中定义了表数据?在此之前,减速机中的
state.fetchTestsData.testsData
的初始状态值是多少。何时发出axios请求以填充状态?当我说给
testsData
一个初始值时,我的意思是您可以提供它作为其源,在state中是默认值,或者在选择器中是回退值。