Как я могу использовать formik "arrayHelper" вне FieldArray? - PullRequest
0 голосов
/ 29 мая 2019

Я пытался создать 2 контейнера FieldArray с помощью arrayHelpers. Каждый из них работает с разным объектом. Obj1 и Obj2 имеют свой arrayHelper, и каждый из них знает, как добавлять и удалять объекты в / из массива.

Я хочу создать какую-то панель инструментов с двумя кнопками «Добавить Obj1» и «Добавить Obj2» вне этих двух контейнеров. Вопрос в том, как я могу работать с arrayHelper вне этих контейнеров? Или вы могли бы предложить другой поток, как можно изменить мой массив? Проблема в том, что если я изменю свой массив на родительский - я не могу работать с props.values ​​только с props.obj1, но в этом случае мои изменения не сохраняются.

<FieldArray name="obj1"
                    render={arrayHelpers => {}/>
<FieldArray name="obj2"
                    render={arrayHelpers => {}/>

<div class="toolbar">...buttons</div>

1 Ответ

0 голосов
/ 30 мая 2019

Чтобы получить доступ к arrayHelpers вне FieldArray, вы можете использовать ссылки.

Я создал песочницу с кодом, показывающую, как вы можете это сделать:

https://codesandbox.io/s/using-refs-to-access-child-methods-cps7w

...