useState問題 多個閉包

import React, { useEffect, useState } from "react";
import ReactDOM from "react-dom";
import "antd/dist/antd.css";
import { Table, Button } from "antd";

function MyComponent() {
  const [data, setData] = useState([]);

  const [columns] = useState(genColumns());
  const columns2 = genColumns();

  function genColumns() {
    return [
      {
        title: "Name",
        dataIndex: "name",
        key: "name"
      },
      {
        title: "Action",
        key: "action",
        render: (text, record) => (
          <Button
            type="primary"
            onClick={() => {
              console.log(record, data);
            }}
          >
            Delete
          </Button>
        )
      }
    ];
  }

  // 100ms 獲取數(shù)據(jù)
  useEffect(() => {
    setTimeout(() => {
      setData([
        {
          key: "1",
          name: "張三"
        }
      ]);
    }, 100);
  }, []);

  return (
    <div>
      <p>表格1---------</p>
      <Table
        columns={columns}
        size="small"
        pagination={false}
        dataSource={data}
      />

      <br />

      <p>表格2---------</p>
      <Table
        columns={columns2}
        size="small"
        pagination={false}
        dataSource={data}
      />
    </div>
  );
}

ReactDOM.render(<MyComponent />, document.getElementById("container"));

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容