Я пытаюсь вставить компонент Link в ячейку таблицы Tabulator с помощью пользовательского форматера .
В ячейке ничего не отображается, как видно из коды и поля .
Почему JSX нельзя вернуть из функции? Как мне этого добиться?
const invoiceLinkFormatter = (cell, formatterParams) => { // <------ Custom formatter definition
let key = cell.getValue();
let link = `/invoices/${key}`;
return (<Link to={link}>{key}</Link>);
};
invoicesTable.current = new Tabulator(refInvoicesTable.current, {
columns: [
{
title: "Invoices",
field: "invoiceKey",
formatter: invoiceLinkFormatter // <------ Custom formatter use
},
{ title: "Dates", field: "invoiceDate" }
]
});
Этот подход работает, но он побеждает цель, так как ссылка покидает приложение реагирования и перезагружает все.
const columns = [
{
title: "Invoice",
field: "invoiceKey",
formatter: "link",
formatterParams: { url: cell => { return "/invoices/" + cell.getValue() } }
},
{ title: "Date", field: "invoiceDate" },
];