Библиотека сетки, завернутая в форму, поддерживает неработающие пользовательские рендереры.

У меня есть готовая сетка с подкреплением, построенная с использованием ag-grid. Ag-grid принимает рендеры, которые в моем случае являются полями, обернутыми FormSpy. Использование pre-hooks версии final-form работает, но у меня было несколько проблем, поэтому я обновился до самой последней и получил ошибку «[X] должен использоваться внутри компонента».

Я использовал React Devtools, и, конечно же, мой пользовательский рендерер / редактор Fields перемещался за пределы контекста в виде листьев в конце дерева. Мой вопрос: есть ли какое-нибудь обходное решение, чтобы заставить эту работу работать? Есть ли способ подписаться на определенный контекст? Я знаю, что это немного антипаттерн, но у меня заканчиваются идеи.

Пример

Это версия со старыми пакетами окончательной формы - https://codesandbox.io/s/final-form-ag-grid-lbq7f




Ответы (1)


У меня возникли проблемы с использованием formik, потому что ag-grid-react не поддерживает API контекста React без опоры, то есть reactNext={true}. Еще одно предложение: не помещать gridApi в состояние, вместо этого передать ссылку в AgGridReact, например:

  const gridApi = useRef();

  <AgGridReact
    {...}
    ref={gridApi}
  />
person Muhammad Ali    schedule 17.01.2020
comment
эй, но мы все еще не можем отображать поля в CustomRenderer. Есть ли другой способ сделать это? - person MistyK; 23.07.2020