我正在尝试使用上面的代码,但是在构建过程中出现错误,提示this.selectTable
为空。
有人可以帮我吗?
我遵循了这种逻辑-Access filtered data in ReactTable
<ReactTableComponent
ref={this.reactTable}
className="polls-table"
defaultPageSize={10}
getTrProps={(_, rowInfo = {}) => {
let { index = 0 } = rowInfo;
return {
style: {
background: index % 2 ? "#fafafa" : "#FFFFFF"
}
};
}}
columns={columns}
data={polls}
/>
<Button
color="primary"
type="button"
onClick={download(this.reactTable.current.getResolvedState())}
>
Download
{/* <CSVLink data={myFunction(this.selectTable.getResolvedState())} filename="polls.csv">Export to CSV</CSVLink> */}
</Button>
</Paper>;
最佳答案
问题在此行内:
onClick={download(this.reactTable.current.getResolvedState())}
现在发生的事情是JS立即运行您的代码以计算onClick处理程序。仅仅因为第一次运行的引用为空,就会发生错误。
相反,您应该拥有的是:
onClick={() => {download(this.reactTable.current.getResolvedState())}}
您还可以添加条件以检查this.reactTable.current不是
null
关于javascript - 访问React Table中的过滤数据时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59288782/