Size: a a a

React Native — русскоговорящее сообщество

2020 July 28

GB

Gena Black in React Native — русскоговорящее сообщество
Т.е. что мне, так написать?
[state.selection, ...state.selection.map(i=>state.items[i])]
источник

GB

Gena Black in React Native — русскоговорящее сообщество
И что при этом будет реакт делать?
источник

AK

Alexey Kondratev in React Native — русскоговорящее сообщество
поставь себе плагин для еслинта на хуки, Дэн Абрамов говорил что нельзя массивы как зависимости указывать, реакт будет каждый раз твои массивы сравнивать
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Alexey Kondratev
поставь себе плагин для еслинта на хуки, Дэн Абрамов говорил что нельзя массивы как зависимости указывать, реакт будет каждый раз твои массивы сравнивать
ЧТО? А без ссылки на авторитеты, доказать сможете? )
источник

GB

Gena Black in React Native — русскоговорящее сообщество
И у меня стоит плагин
источник

GB

Gena Black in React Native — русскоговорящее сообщество
В этом и проблема, я писал выше: "И да, я знаю, что можно убрать зависимость от state.items, но тогда хваленые правила для хуков для eslint ругаются"
источник

AK

Alexey Kondratev in React Native — русскоговорящее сообщество
зачем мне тебе что то доказывать?
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Alexey Kondratev
зачем мне тебе что то доказывать?
Я задал вопрос, если по делу посоветовать нечего, то ок. Я просто сразу это не понял. Думал, вы можете что-то подсказать )
источник

DT

Daniil Tchernyavsky in React Native — русскоговорящее сообщество
Alexey Kondratev
поставь себе плагин для еслинта на хуки, Дэн Абрамов говорил что нельзя массивы как зависимости указывать, реакт будет каждый раз твои массивы сравнивать
ссылки сравнит и только
источник

AK

Alexey Kondratev in React Native — русскоговорящее сообщество
Gena Black
Т.е. что мне, так написать?
[state.selection, ...state.selection.map(i=>state.items[i])]
ты можешь написать функцию, которая будет сравнивать массивы, и записывать\возвращать куда-то тру или фолс, и ты это можешь в зависимости прокидывать, если нужно именно на изменения массива по длине смотреть, можешь написать [items.length]
источник

BA

Bogdan Aleksandrovic... in React Native — русскоговорящее сообщество
Alexey Kondratev
поставь себе плагин для еслинта на хуки, Дэн Абрамов говорил что нельзя массивы как зависимости указывать, реакт будет каждый раз твои массивы сравнивать
он сделал не верно, ему плагин и покажет массив совать туда
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Alexey Kondratev
ты можешь написать функцию, которая будет сравнивать массивы, и записывать\возвращать куда-то тру или фолс, и ты это можешь в зависимости прокидывать, если нужно именно на изменения массива по длине смотреть, можешь написать [items.length]
Я думал, что я действительно могу вытащить зависимости динамически. Но к сожалению react ругается, когда массив зависимостей динамически меняется.

const onSelectProp = props.onSelect;
 const selected = useMemo(() => state.selection.map(i => state.items[i]), [
   state.selection,
   state.items,
 ]);
 useEffect(() => {
   onSelectProp(selected);
 }, [onSelectProp,
...selected]);
источник

AK

Alexey Kondratev in React Native — русскоговорящее сообщество
если у тебя работает щас, задизабли строчку зависимостей и всё)
источник

AK

Alexey Kondratev in React Native — русскоговорящее сообщество
ну, что бы плагин не орал
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Alexey Kondratev
если у тебя работает щас, задизабли строчку зависимостей и всё)
Тогда eslint ругается, потому и вопрос был, как это "красиво" сделать )
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Ну и понятно почему eslint ругается, это действительно не совсем корректно убирать целиком зависимость на items
источник

AK

Alexey Kondratev in React Native — русскоговорящее сообщество
плагин иногда в зависимости сам предлагает поставить не корректные вещи)
источник

BA

Bogdan Aleksandrovic... in React Native — русскоговорящее сообщество
Alexey Kondratev
плагин иногда в зависимости сам предлагает поставить не корректные вещи)
он верно предлагает, используешь в хуке - суй в зависимости, глобальны епеременные не нужно
источник

AK

Alexey Kondratev in React Native — русскоговорящее сообщество
типо говорит поставь в депы функцию, которая внутри и выполняется, если ее ставишь, у тебя циклически все обновляется постоянно)))0
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Bogdan Aleksandrovich
он верно предлагает, используешь в хуке - суй в зависимости, глобальны епеременные не нужно
Тогда как мне сунуть в зависимости динамический набор объектов? )
источник