首页 > 解决方案 > 如何检查反应表发送给过滤函数的数据作为参数?

问题描述

我正在查看来自反应表过滤表记录的过滤示例。我想看看在下面的过滤函数中接收到的数据结构。但我console.log(..没有来到浏览器控制台。如何检查?根据文档,它应该调用 text 函数,但它可能不会调用。

function Table({ columns, data }) {
  const filterTypes = React.useMemo(
    () => ({
      // Add a new fuzzyTextFilterFn filter type.
      fuzzyText: fuzzyTextFilterFn,
      // Or, override the default text filter to use
      // "startWith"
      text: (rows, id, filterValue) => {
        console.log(rows);
        return rows.filter((row) => {
          const rowValue = row.values[id];
          return rowValue !== undefined
            ? String(rowValue)
                .toLowerCase()
                .startsWith(String(filterValue).toLowerCase())
            : true;
        });
      }
    }),
    []
  );

//.....

沙箱示例。

标签: javascriptreactjsreact-table

解决方案


React 的 useMemo 钩子返回回调函数的返回对象的记忆版本。它不做任何其他事情。text函数不会被执行,所以你不会看到console.log。另一点是你给 useMemo 一个空的依赖列表。这意味着您的记忆对象永远不会更新,并且可能会不同步。


推荐阅读