javascript - 每当可选 Prop 发送到子组件时显示错误

标签 javascript reactjs react-hooks setstate react-table

我正在尝试可选的行选择功能,这应该根据从父级传递的 Prop 来确定。我在单个页面上有两个网格,其中一个网格具有应该启用行选择的 Prop ,而另一个则没有。但我收到此错误“无法读取未定义的属性‘className’”。

沙盒:https://codesandbox.io/s/react-table-row-table-alternate-single-row-working-5fr81

import * as React from "react";
import { render } from "react-dom";
import DataGrid from "./DataGrid";
import ShowMore from "./ShowMore";

class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      data: [],
      columns: []
    };
  }

  componentDidMount() {
    this.getData();
    this.getColumns();
  }

  getData = () => {
    const data = [
      { firstName: "Jack", status: "Submitted", items: [1, 2, 3, 4] },
      { firstName: "Simon", status: "Pending", items: [1, 2] },
      { firstName: "Syls", status: "Pending", items: [1] },
      { firstName: "Pete", status: "Approved", items: [] }
    ];
    this.setState({ data });
  };

  getColumns = () => {
    const columns = [
      {
        Header: "First Name",
        accessor: "firstName"
      },
      {
        Header: "Status",
        accessor: "status"
      },
      {
        Header: "Items",
        accessor: "items",
        Cell: row => <ShowMore value={row.value} />
      }
    ];
    this.setState({ columns });
  };

  onClickRow = rowInfo => {
    this.setState({ allData: rowInfo }, () => {
      console.log(this.state.allData);
    });
  };

  render() {
    return (
      <>
        <DataGrid
          data={this.state.data}
          columns={this.state.columns}
          rowClicked={this.onClickRow}
        />
        <DataGrid data={this.state.data} columns={this.state.columns} />
      </>
    );
  }
}

最佳答案

DataGrid.js 中的 onRowClick 函数中,您的函数在第一次渲染时不会返回任何内容(或直到单击某些内容)。 ReactTable 在这里期待着一些东西。如果您提供一个空对象,它将成功渲染。

关于javascript - 每当可选 Prop 发送到子组件时显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59632705/

相关文章:

reactjs - 在 React 中显示 TinyMCE 内容

javascript - 不知道如何使用钩子(Hook)在 redux 状态下正确访问获取结果

reactjs - React 闭包中的 useState 值过时 - 如何修复?

javascript - 为什么 requireJS 不在模块名称中附加 '.js'

javascript - HTMLUnit 不等待 JavaScript

twitter-bootstrap - Bootstrap 和导航栏崩溃不起作用 react (创建 react 应用程序)

javascript - 使用 Yup 访问必填字段

javascript - 如何使用$.ajax读取本地xml文件?

javascript - 尝试将文本添加到 SharePoint 显示表单。目前只能添加到编辑和新建表单

javascript - 如何从 reactjs 和 API 中检索数据