Redux-Form использует индекс как ключ для массивов полей, разве это не антипаттерн? - PullRequest
0 голосов
/ 05 августа 2020

Я начал использовать Fields Array из redux-form , и в качестве ключей он использует индекс, который является простым целым числом. Но разве это не так? Я тестировал его, и у меня нет никаких проблем, но прочитал эту статью , в которой говорится, что это может вызвать проблемы. Так почему же здесь это не стало проблемой?

1 Ответ

0 голосов
/ 05 августа 2020

Redux-Form хотя отличный пакет, не пытаюсь сказать, что это не так, разросся с множеством проблем и анти-шаблонов. Просто взгляните на его имя Redux-Form и взгляните на этот Redux FAQ о сохранении состояния формы в redux - он говорит, что не рекомендуется сохранять состояние формы в redux ! Как насчет этого?

Теперь поговорим об итерации с индексами и почему это плохо. Поскольку вы прочитали статью в своем вопросе, я предполагаю, что вы уже это понимаете - это потому, что это плохо для сохранения уникального представления элементов, особенно если они перемещаются вверх и вниз, старые и новые. Это не означает, что этого следует избегать всегда . Если вы хорошо разбираетесь в индексах и позициях, вам не о чем беспокоиться. Redux-Form - не единственный пакет, делающий это, Formik тоже.

В заключение, использование индексов в качестве массивов полей не идеально, вы всегда будете в большей безопасности с чем-то вроде uniqid(). Но и это не конец света. Redux Form - очень сложный пакет, и они знают, как обрабатывать свое состояние, поэтому мы можем предположить, что они также знают, как обрабатывать свои индексы.

...