SlideShare a Scribd company logo
1 of 59
Download to read offline
REACTJS WORST
PRACTICES
React Next 2016
Hello world!
My name is Katya!
Hello world!
My name is Katya!
Hello world!
My name is Katya!
HI!
My name is Kateryna Porshnieva
live in Kiev, Ukraine
work as Front-End Developer & UI/
UX designer at YouScan
teach React & Redux course in
Ukraine
@krambertech
PERFECTIONISM
Black White
DONE IS BETTER
THAN PERFECT
GOOD-ENOUGH
SOFTWARE
TECHNOLOGY
CHASING
JSS
AND MUCH MORE…
USE NEW
TECHNOLOGY IF IT
SOLVES A PROBLEM
DON’T USE NEW
TECHNOLOGY JUST
BECAUSE IT’S TRENDY
USERS DON’T CARE
WHAT YOUR CODE
LOOKS LIKE
CONFUSE OPINIONS
WITH FACTS
DON’T TAKE ON
TRUST, MEASURE
- Mark Zuckerberg
“Code wins arguments”
TEMPORARY
SOLUTIONS
FIX “BROKEN WINDOWS”
AS SOON AS THEY ARE
DISCOVERED
“IT’S IMPOSSIBLE”
IN THE SOFTWARE VERY
FEW THINGS ARE TRULY
IMPOSSIBLE
“THE DOG ATE
MY SOURCE CODE”
DON’T PROVIDE
EXCUSES, INSTEAD
PROVIDE OPTIONS
IT’S OKAY IF YOUR
CODE HAS BUGS
GOD OBJECTS
FAT COMPONENTS
FAVOR COMPOSABILITY
OVER MONOLITHIC
DESIGN
<Button
iconType=“log-in”
onClick={this.handleLogIn}
>
Log in
</Button>
<Button onClick={this.handleLogIn}>
<Icon type=“log-in” /> Log in
</Button>
DON’T BE AFRAID TO
CREATE MANY
COMPONENTS
DON’T WRITE
GENERIC CODE
KISS
KEEP IT SIMPLE STUPID
DUPLICATION
DRY
DON’T REPEAT YOURSELF
“Complex is easy. Simple is
hard.”
AFRAID TO ASK
#JUNIORDEVFORLIFE
DON’T BE AFRAID
TO ASK
DON’T BE AFRAID
ADMIT THAT YOU
DON’T KNOW
DOGMATISM
BE OPENED TO
NEW APPROACHES
STOP SHAMING
OTHERS BECAUSE OF
THE TECH THEY USE
@krambertech
Thank you!

More Related Content

Viewers also liked

Viewers also liked (12)

Going Native With React
Going Native With ReactGoing Native With React
Going Native With React
 
Higher-Order Components — Ilya Gelman
Higher-Order Components — Ilya GelmanHigher-Order Components — Ilya Gelman
Higher-Order Components — Ilya Gelman
 
React Native
React NativeReact Native
React Native
 
[React Native] Lecture 4: Basic Elements and UI Layout by using FlexBox
[React Native] Lecture 4: Basic Elements and UI Layout by using FlexBox[React Native] Lecture 4: Basic Elements and UI Layout by using FlexBox
[React Native] Lecture 4: Basic Elements and UI Layout by using FlexBox
 
แผนการจัดการเรียนรู้ที่10
แผนการจัดการเรียนรู้ที่10แผนการจัดการเรียนรู้ที่10
แผนการจัดการเรียนรู้ที่10
 
dipesh
dipeshdipesh
dipesh
 
Set intruksi (posting di slideshare)
Set intruksi (posting di slideshare)Set intruksi (posting di slideshare)
Set intruksi (posting di slideshare)
 
Book Photo
Book PhotoBook Photo
Book Photo
 
Chuyên
ChuyênChuyên
Chuyên
 
Group presentation
Group presentationGroup presentation
Group presentation
 
Chuyên
ChuyênChuyên
Chuyên
 
Energy Crisis Final Report
Energy Crisis Final ReportEnergy Crisis Final Report
Energy Crisis Final Report
 

Similar to React Next Conference slides: ReactJS Worst practices

Machine Learning with Artificial Neural Networks in Clojure
Machine Learning with Artificial Neural Networks in ClojureMachine Learning with Artificial Neural Networks in Clojure
Machine Learning with Artificial Neural Networks in ClojureStefan Richter
 
PROTOBAKING REVISITED
PROTOBAKING REVISITEDPROTOBAKING REVISITED
PROTOBAKING REVISITEDDan Rockwell
 
Open Source and the MEAN stack
Open Source and the MEAN stackOpen Source and the MEAN stack
Open Source and the MEAN stackLiran Tal
 
Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015Christian Heilmann
 
Quality is a variable
Quality is a variableQuality is a variable
Quality is a variableustwo
 
[Keynote] James Higgs - Quality is a variable
[Keynote] James Higgs - Quality is a variable[Keynote] James Higgs - Quality is a variable
[Keynote] James Higgs - Quality is a variableCodemotion
 
Context Rising : Wearable Interfaces
Context Rising : Wearable InterfacesContext Rising : Wearable Interfaces
Context Rising : Wearable InterfacesKharis O'Connell
 
Usability Testing
Usability TestingUsability Testing
Usability TestingAndy Budd
 
Mobile UX Essentials
Mobile UX EssentialsMobile UX Essentials
Mobile UX EssentialsRachel Hinman
 
Use Promise, Future and some functional programing stuff without being a math...
Use Promise, Future and some functional programing stuff without being a math...Use Promise, Future and some functional programing stuff without being a math...
Use Promise, Future and some functional programing stuff without being a math...Quentin Adam
 
Introuduction to Docker
Introuduction to DockerIntrouduction to Docker
Introuduction to DockerAmir Ahangari
 
What i learned at that conference
What i learned at that conferenceWhat i learned at that conference
What i learned at that conferenceKevin Davis
 
Write Better Software With ACRUMEN slides from Scenic City Summit 2021
Write Better Software With ACRUMEN slides from Scenic City Summit 2021Write Better Software With ACRUMEN slides from Scenic City Summit 2021
Write Better Software With ACRUMEN slides from Scenic City Summit 2021Dave Aronson
 
Luigi lauro thread with care (concurrency pitfalls in java)
Luigi lauro   thread with care (concurrency pitfalls in java)Luigi lauro   thread with care (concurrency pitfalls in java)
Luigi lauro thread with care (concurrency pitfalls in java)Codecamp Romania
 
Thread with care: concurrency pitfalls in Java [Iași CodeCamp 25th October 2014]
Thread with care: concurrency pitfalls in Java [Iași CodeCamp 25th October 2014]Thread with care: concurrency pitfalls in Java [Iași CodeCamp 25th October 2014]
Thread with care: concurrency pitfalls in Java [Iași CodeCamp 25th October 2014]Luigi Lauro
 
Boxen: AATFT
Boxen: AATFTBoxen: AATFT
Boxen: AATFTPuppet
 

Similar to React Next Conference slides: ReactJS Worst practices (18)

Machine Learning with Artificial Neural Networks in Clojure
Machine Learning with Artificial Neural Networks in ClojureMachine Learning with Artificial Neural Networks in Clojure
Machine Learning with Artificial Neural Networks in Clojure
 
Y U NO JS?
Y U NO JS?Y U NO JS?
Y U NO JS?
 
User Experience Beyond the Screen
User Experience Beyond the ScreenUser Experience Beyond the Screen
User Experience Beyond the Screen
 
PROTOBAKING REVISITED
PROTOBAKING REVISITEDPROTOBAKING REVISITED
PROTOBAKING REVISITED
 
Open Source and the MEAN stack
Open Source and the MEAN stackOpen Source and the MEAN stack
Open Source and the MEAN stack
 
Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015
 
Quality is a variable
Quality is a variableQuality is a variable
Quality is a variable
 
[Keynote] James Higgs - Quality is a variable
[Keynote] James Higgs - Quality is a variable[Keynote] James Higgs - Quality is a variable
[Keynote] James Higgs - Quality is a variable
 
Context Rising : Wearable Interfaces
Context Rising : Wearable InterfacesContext Rising : Wearable Interfaces
Context Rising : Wearable Interfaces
 
Usability Testing
Usability TestingUsability Testing
Usability Testing
 
Mobile UX Essentials
Mobile UX EssentialsMobile UX Essentials
Mobile UX Essentials
 
Use Promise, Future and some functional programing stuff without being a math...
Use Promise, Future and some functional programing stuff without being a math...Use Promise, Future and some functional programing stuff without being a math...
Use Promise, Future and some functional programing stuff without being a math...
 
Introuduction to Docker
Introuduction to DockerIntrouduction to Docker
Introuduction to Docker
 
What i learned at that conference
What i learned at that conferenceWhat i learned at that conference
What i learned at that conference
 
Write Better Software With ACRUMEN slides from Scenic City Summit 2021
Write Better Software With ACRUMEN slides from Scenic City Summit 2021Write Better Software With ACRUMEN slides from Scenic City Summit 2021
Write Better Software With ACRUMEN slides from Scenic City Summit 2021
 
Luigi lauro thread with care (concurrency pitfalls in java)
Luigi lauro   thread with care (concurrency pitfalls in java)Luigi lauro   thread with care (concurrency pitfalls in java)
Luigi lauro thread with care (concurrency pitfalls in java)
 
Thread with care: concurrency pitfalls in Java [Iași CodeCamp 25th October 2014]
Thread with care: concurrency pitfalls in Java [Iași CodeCamp 25th October 2014]Thread with care: concurrency pitfalls in Java [Iași CodeCamp 25th October 2014]
Thread with care: concurrency pitfalls in Java [Iași CodeCamp 25th October 2014]
 
Boxen: AATFT
Boxen: AATFTBoxen: AATFT
Boxen: AATFT
 

Recently uploaded

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 

Recently uploaded (20)

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 

React Next Conference slides: ReactJS Worst practices