And*_*ndy 12 javascript datagrid reactjs react-table react-hooks
在他们的npm 页面上,示例显示了<ReactTable>
组件的用法:
import ReactTable from 'react-table'
...
render() {
return (
<ReactTable
data={data}
columns={columns}
/>
)
}
Run Code Online (Sandbox Code Playgroud)
但是,在他们的API 文档和示例中,他们都使用useTable
.
import { useTable } from 'react-table';
function Table({ columns, data }) {
// Use the state and functions returned from useTable to build your UI
const {
getTableProps,
getTableBodyProps,
headerGroups,
rows,
prepareRow,
} = useTable({
columns,
data,
})
// Render the UI for your table
return (
<table {...getTableProps()}>
<thead>
{headerGroups.map(headerGroup => (
<tr {...headerGroup.getHeaderGroupProps()}>
{headerGroup.headers.map(column => (
<th {...column.getHeaderProps()}>{column.render('Header')}</th>
))}
</tr>
))}
</thead>
<tbody {...getTableBodyProps()}>
{rows.map(
(row, i) => {
prepareRow(row);
return (
<tr {...row.getRowProps()}>
{row.cells.map(cell => {
return <td {...cell.getCellProps()}>{cell.render('Cell')}</td>
})}
</tr>
)}
)}
</tbody>
</table>
)
}
...
render () {
return (
<Table columns={columns} data={data} />
)
}
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是:为什么有人会使用钩子(useTable、useFilters 等...)并在他/她可以使用已经提供的一个时制作 Table 组件。我很确定他们没有忘记更新他们的 npm 页面的例子......或者他们忘记了吗?
Ben*_*ith 11
react-table v7 是一个“无头”UI 库,这意味着它仅提供后端表功能,并且需要您使用自己的 React 组件来实现表的渲染。
这意味着您可以将后端表格代码应用于您想要的任何表格样式(例如 Bootstrap、Material UI、vanilla HTML等),并且您可以精确控制将此库连接到 UI 的位置。
大多数表库(包括 React Table pre v7!)都有预定义的功能和行为,在某些情况下可能不适合您;但是,当使用 react-table v7 时,您可以通过实现自己的 UI 代码,然后将其连接到您的 react-table 挂钩代码来满足这些情况。
归档时间: |
|
查看次数: |
10175 次 |
最近记录: |