#reactjs #react-table
#reactjs #react-table
Вопрос:
В настоящее время я делаю это:
import * as React from "react";
import { useTable } from "react-table";
const Table = ({ onInit }) =&&t; {
const table = useTable({ data: [...], columns: [...] });
React.useEffect(() =&&t; {
onInit(table);
}, []);
return <table&&t;...</table&&t;
};
const TableParent = () =&&t; {
const [table, setTable] = React.useState();
return <div&&t;
<Table onInit={table =&&t; setTable(table)} /&&t;
<div&&t;
{/* Used table instance here */}
</div&&t;
</div&&t;
};
но не уверен, нормально ли это или это плохой шаблон.
Я новичок в React.
Пожалуйста, я хочу услышать ваше мнение.
Спасибо!
Ответ №1:
Я делаю это вот так, и это хорошо работает
Давайте предположим: родительский компонент — это приложение, а дочерний компонент — таблица
Из родительского компонента: вы можете передать обратный вызов компоненту table
В компоненте table: вы вызываете тот же обратный вызов, передавая его instance
в качестве параметра, используя hooks.useInstance
точку плагина
Я упростил вам задачу, проверьте журнал консоли:
https://codesandbox.io/s/&et-react-table-instance-in-parent-component-rx66s?file=/src/App.js
Комментарии:
1. Я пробовал это, мне удалось получить экземпляр, но всякий раз, когда в дочернем компоненте (таблице) происходит onChan&e, он снова обновляется, чего я пытаюсь добиться, так это присвоить pa&eSize состоянию в родительском компоненте, я надеюсь, вы поняли мою точку зрения, и если вы можете ответить мне спасибо.
2. Хорошо, этого не ожидается, мне может понадобиться больше деталей вашего кода. Также ознакомьтесь с этим часто задаваемым вопросом здесь, когда ваш компонент table сбрасывается или обновляется: &ithub.com/tannerlinsley/react-table/blob /…