Я пытаюсь привязать свои данные к blueprint.jsTable, однако в документации неясно, как это сделать. Как мне создать пользовательскую функцию рендеринга для blueprint.jsTable для рендеринга ключа из списка объектов?
В примере по умолчанию передается rowIndex.
Код:
data = [
{ name: "L/S", col2: "abc" },
{ name: "HY", col2: "def" }
];
myRender = (rowIndex: number, key: string) => {
return <Cell> {this.data[rowIndex][key]} </Cell>;
};
<Table numRows = {2}>
<Column name = "not-working" cellRenderer = {this.myRender("name")} />
<Column name = "not-working2" cellRenderer = {this.myRender("col2")} />
</Table>;
Ошибка:
TypeError
Cannot read property 'undefined' of undefined
18 |
19 | myRender = (rowIndex: number, key: string) => {
> 20 | return <Cell> {this.data[rowIndex][key]} </Cell>;
| ^
21 | };
См. Пример здесь: https://codesandbox.io/s/k9l9q2150r



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


cellRenderer ожидает функцию, которая принимает rowIndex в качестве аргумента. Итак, что вам нужно сделать:
myRender = (key: string) => (rowIndex: number) => {
return <Cell>{this.data[rowIndex][key]}</Cell>;
};
А вот и песочница