Size: a a a

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

2020 July 15

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
PowerSlime
Всем привет. Начал изучать React и возникли вопросы касательно того, "что нужно использовать": Component/PureComponent/Functional component.

1. Нужно ли всегда отдавать предпочтению использованию functional component, если все что мы делаем — выводим данные с props'ов
2. Нужно ли всегда отдавать предпочтению использованию functional component, если нам не нужен доступ к lifecycle методам (ну или в меньшей степени, когда их можно реализовать хуками useEffect(..., []))
3. Используете ли вы у себя в проде библиотеки а-ля "react-universal-hooks", чтобы использовать хуки в class-based компонентах
забудь про классы если пишешь новый код
источник

ei

export default - зло... in React — русскоговорящее сообщество
PowerSlime
Эта как-то связанно с конечным весом бандла и тем, что функции в JS'е отрабатывают быстрее классов? Да и в принципе они легче дебажатся и т.п.
Со всем кроме того что ты перечислил))
источник

P

PowerSlime in React — русскоговорящее сообщество
export default - зло is the side effect
Со всем кроме того что ты перечислил))
Понял)) Нужно будет изучить вопрос подробнее)))
источник

ei

export default - зло... in React — русскоговорящее сообщество
И кстати классовые быстрее все еще
источник

ei

export default - зло... in React — русскоговорящее сообщество
Но незначительно
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
export default - зло is the side effect
И кстати классовые быстрее все еще
*если сделать все правильно
источник

P

PowerSlime in React — русскоговорящее сообщество
export default - зло is the side effect
И кстати классовые быстрее все еще
Ну... На сколько я понял — зависит от того как они написаны, если методы объявлены как стрелочные функции (чтобы this не терять), то там производительность очень сильно падает

https://medium.com/@charpeni/arrow-functions-in-class-properties-might-not-be-as-great-as-we-think-3b3551c440b1
источник

P

PowerSlime in React — русскоговорящее сообщество
Dmitriy Shuleshov
забудь про классы если пишешь новый код
А код в кашу не превращается, если начинает "бизнес-логикой" компонент обрастать?
источник

P

PowerSlime in React — русскоговорящее сообщество
Хотя... С классами те же проблемы в принципе...
источник

ei

export default - зло... in React — русскоговорящее сообщество
PowerSlime
Ну... На сколько я понял — зависит от того как они написаны, если методы объявлены как стрелочные функции (чтобы this не терять), то там производительность очень сильно падает

https://medium.com/@charpeni/arrow-functions-in-class-properties-might-not-be-as-great-as-we-think-3b3551c440b1
Не, это фигня полная
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
PowerSlime
А код в кашу не превращается, если начинает "бизнес-логикой" компонент обрастать?
компонент не должен обрастать бизнес логикой
источник

ei

export default - зло... in React — русскоговорящее сообщество
От функций никак не зависит
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
PowerSlime
А код в кашу не превращается, если начинает "бизнес-логикой" компонент обрастать?
не превращается потому что бизнес логики в компонентах не должно быть
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
export default - зло is the side effect
От функций никак не зависит
плюс
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
Dmitriy Shuleshov
не превращается потому что бизнес логики в компонентах не должно быть
плюс
источник

P

PowerSlime in React — русскоговорящее сообщество
Окей... Я вас понял) Свои косяки уже увидел)
источник

ei

export default - зло... in React — русскоговорящее сообщество
Ну типа в 17 году может была разница в производительности от того какие функции юзать, но уже давно нет
источник

P

PowerSlime in React — русскоговорящее сообщество
export default - зло is the side effect
Ну типа в 17 году может была разница в производительности от того какие функции юзать, но уже давно нет
Оу... Да... Совсем не обратил внимание на год статьи
источник

P

PowerSlime in React — русскоговорящее сообщество
И еще напоследок...

На сколько имеет смысл обвешивать компонент propTypes'ами и defaultProps'ами, если собирать все это дело под TypeScript'ом?
источник

P

PowerSlime in React — русскоговорящее сообщество
Потому как в теории — никакого смысла не имеет
источник