Note: Last week, I forgot to share our Discussion of the Week 😱... we didn't want any good discussion authors from last week to miss out on their opportunity, so dug back into the vaults to pull out a good one.
In this weekly roundup, we highlight what we believe to be the most thoughtful, helpful, and/or interesting discussion over the past week! Though we are strong believers in healthy and respectful debate, we typically try to choose discussions that are positive and avoid those that are overly contentious.
Any folks whose articles we feature here will be rewarded with our Discussion of the Week badge. ✨
Now that y'all understand the flow, let's go! 🏃💨
The Discussion of the Week
Last week's featured discussion of the week goes to first-time author @jr01 for the short-n-sweet question "Any advice for someone who wants to start learning React.js?"
Any advice for someone who wants to start learning React.js?
Jr ・ Feb 4
@jr01, you've come to the right community! We got quite a few React devs in our ranks, and many other web devs with opinions too. As with many of our posts featured here, things get most interesting in the comments section... and after all, there was no writing in the body of the post so not much talk about there, haha!
@myogeshchavan97 weighed in with a good list of tips and a couple linked resources:
Before learning React.js, make sure to have a solid understanding of following ES6+ features because these features are heavily used in React.
- let and const
- arrow functions
- object and array destructuring
- object shorthand syntax
- template literals
- rest and spread operator
- optional chaining
- promises
- import & export
- async/await
- array methods like find, filter, map, reduce etc
- primitive types and reference types.
You can check out the below articles to learn more about it:
You can also check out this course.
@merri also brought up some helpful guidance around spending time on CSS, HTML, and DOM:
If you're planning to focus on web then spend time on HTML, CSS and DOM first. All the web standards.
Currently we have an overabundance of React-based apps that have weak usability, poor CSS architecture, and lots of re-invented wheels on features natively provided by the browser. All these factors result to unnecessary extra work which causes an endless cycle of write more JS to fix problems caused by using more JS.
React specifically often wants to solve problems "the React way" that are only relevant in the React mindset. This adds unnecessary complexity and causes problems you would never have if you know how things really work with the browser. This can give you an advantage in a job as you then know what NOT to solve with React.
Likewise, @jinx_dev_ brought up the challenge of changing mindset:
Change of mindset is crucial. There are certainly technical requirements but there are many unresolved psyche about this field and unclear expectation is what constitutes to many people falling out.
It's a difficult field but the result (especially the pay) outweighs the difficult part.
There's this the boring beginner work of learning the basics that you have to do. There is no other way out. The more you delay it, the longer you'll make your journey and increase your risks.
There's this cumulative 12-15 hrs required where you have to write and see, write and see and write and see all the basic syntax. You have to indoctrinate yourself to see and identify "() => { //code here }" as arrow function and all similar syntax. Everything in react or any library or framework is just built using these basic structure. Literally indoctrinate yourself to be able to see and indentify and also write these basic syntax.
Some people spend year(s) to indoctrinate themselves this way. Some do this within 1 to 1.5 weeks or less. You can keep on delaying these cumulative first 12-15 hrs for as long as you want. It's only wise to do this as quickly as you can.
React is a library that helps you write UI and manage data in it. That's what react is at it's core. Usually, it comes with lots of tooling in different flavours and forms; npm, webpack, create-react-app, vite, etc. It's crucial to be able to see react separate from all of this tooling. It's not easy in beginning but you should strive for it.
Push your boundaries and revisit all concepts you learn to strengthen them and push your boundaries again. Do this alot.
Repetition is the key
There are many different interesting, share-worthy takes here, these are just a handful! If you have advice for an aspiring React dev, hop in to share it.
What's your pick for the Discussion of the Week?
The DEV Community is particularly special because of the kind, thoughtful, helpful, and entertaining discussions happening between community members. As such, we want to encourage folks to participate in discussions and reward those who are initiating or taking part in conversations across the community. After all, a community is made possible by the people interacting inside it.
There are loads of great discussions floating about in this community. This is just the one we chose to highlight. 🙂
I urge you all to share your favorite discussion of the past week below in the comments. And if you're up for it, give the author an @mention — it'll probably make 'em feel good. 💚
Top comments (1)
Thanks for including my comment. Highly appreciated. I have mentored many newbies and a change of mindset really goes a long way.
P.S. I have changed my username. :)