Size: a a a

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

2020 November 25

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Nikolay Tolochnyy
я взял первую статью на медиуме
`f${(~~(Math.random()*1e8)).toString(16)}`
без crypto - это не рандом
источник

NT

Nikolay Tolochnyy in React — русскоговорящее сообщество
согласен
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Nikolay Tolochnyy
crypto это же нодовская либа?
брозер API
источник

S

SkyWalker in React — русскоговорящее сообщество
Nikolay Tolochnyy
я взял первую статью на медиуме
`f${(~~(Math.random()*1e8)).toString(16)}`
У меня при таком подходе происходит перерендер почему-то. Но я просто сложил значение и индекс, затестил огромнео количество раз и все работает адекватно.
источник

S

SkyWalker in React — русскоговорящее сообщество
Ребята, всем огромное спасибо за советы, был неправ в своих начальных предположениях, спасибо, что образумили!)
источник

NT

Nikolay Tolochnyy in React — русскоговорящее сообщество
SkyWalker
У меня при таком подходе происходит перерендер почему-то. Но я просто сложил значение и индекс, затестил огромнео количество раз и все работает адекватно.
ну это потому что там практически всегда уникальное значение
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
SkyWalker
Ребята, всем огромное спасибо за советы, был неправ в своих начальных предположениях, спасибо, что образумили!)
Обращайтесь, вам приятно помогать.
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
SkyWalker
У меня при таком подходе происходит перерендер почему-то. Но я просто сложил значение и индекс, затестил огромнео количество раз и все работает адекватно.
Вы же учтите, что генерировать уникальный ключ надо не в рендере, а при инициализации данных, один раз за весь срок их "жизни" в приложении
источник

S

SkyWalker in React — русскоговорящее сообщество
Vladimir Klimov
Вы же учтите, что генерировать уникальный ключ надо не в рендере, а при инициализации данных, один раз за весь срок их "жизни" в приложении
Я это уже понял в процессе разработки. Ну тоже опыт, набивание шишек
источник

MD

Michael Daineka in React — русскоговорящее сообщество
ребята это когда я запускаю сервер с react-dom/server SSR
ReferenceError: localStorage is not defined
не кто не знает в чем может быть ошибка?
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Michael Daineka
ребята это когда я запускаю сервер с react-dom/server SSR
ReferenceError: localStorage is not defined
не кто не знает в чем может быть ошибка?
Нету localStorage на сервере, это ж браузерное апи
источник

MD

Michael Daineka in React — русскоговорящее сообщество
Vladimir Klimov
Нету localStorage на сервере, это ж браузерное апи
это понятно)
а что делать то
источник

MD

Michael Daineka in React — русскоговорящее сообщество
Vladimir Klimov
Нету localStorage на сервере, это ж браузерное апи
источник

V

Vlad in React — русскоговорящее сообщество
Nikolay Tolochnyy
я взял первую статью на медиуме
`f${(~~(Math.random()*1e8)).toString(16)}`
будто через обфускатор код пропустили
источник

И

Иван in React — русскоговорящее сообщество
Michael Daineka
это понятно)
а что делать то
Не обращаться к нему там, где его нет
источник

И

Иван in React — русскоговорящее сообщество
Michael Daineka
это понятно)
а что делать то
Погугли, про это много написано
источник

MD

Michael Daineka in React — русскоговорящее сообщество
Иван
Не обращаться к нему там, где его нет
спасибо, можно пример запроса пожалуйста
источник

И

Иван in React — русскоговорящее сообщество
Michael Daineka
спасибо, можно пример запроса пожалуйста
источник

MD

Michael Daineka in React — русскоговорящее сообщество
Хаха
Спасибо!
Уже нашёл
источник
2020 November 26

M

Mark in React — русскоговорящее сообщество
Как именовать методы?

handleClick
onClick
clickHandler

У меня есть модальное окно, логика по взаимодействию с ним вынесена в отдельный хук.

Есть функция открытия:

const openModal = () => {
 setModalOpen(true);
}


В нужном месте я достаю эту функцию и поставляю в onClick на кнопку.

Но следуя конвенции нейминга, методы должны отличаться от обычных функций, и именоваться например handleClick или onClickHandler.

И вот вопрос, как правильно назвать функцию открытия модального окна в самом хуке? Просто как функция, которая откроет окно - openModal, или сразу именовать как обработчик клика, т.е - handleOpenModal/onModalButtonClickHandler?

То, что функция находится в хуке, она может называться обработчиком или нет?

Если нет, то нужно заводить отдельную функцию в вызываемом месте, и уже в ней обрабатывать функцию клика?

// ../header.jsx
const { openModal } = useModal();

const handleOpenModal = () => {
 openModal();
}


В этом случае, заводится функция пустышка, которая просто вызовет нужную функцию, но зато не будет нарушена логика именования обычных функций, которые просто выполняют определенное действие в хуке. Или все таки сразу в хуке функции, которые подразумеваются как методы, можно именовать как методы?
источник