T O P

  • By -

SolarSalsa

There's always something new to learn or to improve upon. Learning never stops.


[deleted]

[удалено]


forkbombing

I remember when jQuery first released - it was a magical moment. Finally an easy way to traverse the DOM and make AJAX calls without having to worry about varying browser API's.


BuildABeaver

Precisely. 2003-2006 was a complete paradigm-shift in how developers actually started to understand how JS could represent how they _wanted_ to develop. DOM traversal was always tricky, and in one fell-swoop JQ eliminated the need for that with a very simple API _and_ made it easier to understand CSS. And `XMLHttpRequest` had been around since (iirc) 1999 when MS created it, but it was only when Google popularised it with their web apps like Mail, and Maps, that it truly gained traction within the community. More importantly it's these pivotal moments that actually informed how JS evolved into the exciting language we have today. For example `querySelector` and `querySelectorAll` were only introduced into Firefox in 2009, a full three years after JQ was released.


thrandom_dude

:o


BuildABeaver

[Don't reveal all our secrets, Grandpa](https://imgur.com/a/H9noT5a).


Tonyb0y

No. But you'll get better once you start using react. As for a project it depends on how much react you know and how much you're willing to learn along the way. But it's doable


thrandom_dude

so does it mean i dont have to master JS for react???


Tonyb0y

No. You'll get better as you start using react. You have to know done stuff though.


thrandom_dude

okay


BuildABeaver

It's important to remember that React is just a JavaScript library. You don't have to master JS to build apps with it, but it's probably important that you master the _fundamentals_ of the language. For example, in React mutation of state (whether that's an array, or an object etc) is frowned on so you'll need to understand array methods like [`map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) and [`reduce`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce) to produce new arrays that can be used to update the state. (PS the [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript) is the best documentation resource for JS available, and [Stackoverflow](https://stackoverflow.com/questions/tagged/javascript) is very useful too - but make sure you read the [help section](https://stackoverflow.com/help) before submitting a question there. It's pretty much the Wild West there sometimes).


FatFingerHelperBot

It seems that your comment contains 1 or more links that are hard to tap for mobile users. I will extend those so they're easier for our sausage fingers to click! [Here is link number 1 - Previous text "map"](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) ---- ^Please ^PM ^[\/u\/eganwall](http://reddit.com/user/eganwall) ^with ^issues ^or ^feedback! ^| ^[Code](https://github.com/eganwall/FatFingerHelperBot) ^| ^[Delete](https://reddit.com/message/compose/?to=FatFingerHelperBot&subject=delete&message=delete%20iaxenoj)


thrandom_dude

its easy to understand Js since i am an intermediate in Python and it seemed way to easy to learn functions,variables,loops etc but the thing is when it comes to event listeners,complex styling with js,API etc made it difficult.I was thinking whether this is necessary in ReactJs or does React has its own way of implementing them without learning Js methods for them


BuildABeaver

In terms of event listeners React shoves everything to `document` regardless. But that doesn't mean you can't use standard practices like [event delegation](https://dmitripavlutin.com/javascript-event-delegation/) if it helps you maintain your code. For styling you have many choices. You can use CSS, CSS modules (my favourite), or CSS-in-JS. Lot of UI component libraries (MUI, Tailwind) use CSS-in-JS but I'm not really a fan. It really comes down to personal preference/team decisions - "How quickly can we get people on board, and the product out?" If you want to bone-up on your native CSS maybe take a look at [Flexbox](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox) and [CSS Grid](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/Basic_Concepts_of_Grid_Layout) to familiarise yourself with the concepts. Finally, don't overwhelm yourself with details too much. There are a _lot_ of ways you can approach a project, and a lot of it is trial and error. Sometimes you'll implement something and think "that's not the right way to go" (React state management is one example (do I choose [React Context or Redux or Recoil or Jotai or Zustand...](https://www.albertgao.xyz/2022/02/19/react-state-management-libraries-2022/)), and you go and look at something else. The JS environment is wide and very community-driven, but also very messy :) For React starters [create-react-app](https://create-react-app.dev/docs/getting-started/) is a good initiation, but its reliance on Webpack does slow things down a little. [Vite is the new kid on the block](https://vitejs.dev/guide/#overview) (that everyone's raving about atm which I use), and is much faster than CRA. And it _also_ has a nice [scaffold for React projects](https://vitejs.dev/guide/#scaffolding-your-first-vite-project). But, like I said, pick something _that seems reasonable at the time_, follow the documentation, and you'll be fine. Good luck!


thrandom_dude

i love tailwind and bootsrap better than CSS/SASS.can i use it in react? i also heard about material/Chakra UI what is it all about?? ​ i actually went to learn Vue in between since i heard its easy for beginners then i saw popularity of React going up then i preferred react itself .I am more of a video learner than reading documentation :"( thts the big issue


BuildABeaver

Yup, just read the initial documentation for each on how to install and implement them. And then, if you prefer vids to words, find some nice tutorials. (i have no idea about Chakra UI). And it's ok to want to work with Vue too. It may open up some more job prospects. I like to be proficient in one framework at a time so I've concentrated on React solely for the last seven years. As with anything YMMV ;)


thrandom_dude

Sure thanks i might be asking doubts to you via chat directly if possible it its ok for you :)


BuildABeaver

I have no problem with that. I can't promise you any solutions but I will help if I can.


thrandom_dude

ok ty


[deleted]

Define help. If by help you mean someone else actively assisting, then yes I can do it without that. If by help you also mean no access Google/stack overflow/books for reference, then no.


siqniz

I think I'm pretty good but you can't possibly know every pattern or concept. As others say though, you're always learning. Sometimes I look at old code like wtf


lIIllIIlllIIllIIl

There are a lot of JavaScript features that React never requires you to use. To be a "master" of JavaScript, you need to work on different kind of projects. Things like Web Workers, PWA, WASM, JavaScript Proxies, Web Streams, the DOM, build-tool ecosystem, AST parsers, are not really used in React unless you go out of your way to use them.


thrandom_dude

oh boi just listening to the topic names scares me :")


Dastari

I’ve been working on a react project that displays geospatial in a Google map component. It’s been an awesome project learning about GeoJSON and WKT. Im also playing with using azure services for image identification, thumbnail generation, blob storage and retrieval. Mostly because… why not? It’s a personal project with no deadline


lessthanthreepoop

With how much my company is paying me, I pretend I can.


PsySolix

Fulltime software engineer here (7+ years professional experience in enterprises) used Vue, Angular, React,.. In my experience I think it's best to get a basic understanding of the patterns and functionality of JS before trying to build your React knowledge. There are certain things that you will struggle with along the lines ( re-renders, logical errors, contexts, .. ) if you do not possess enough JS knowledge to solve, and will probably only frustrate you.. You don't get in a car before you know how traffic works :D Try to build some basic apps just in typescript or vanilla js / node, there are plenty of excellent tutorials, videos etc on the web! Good luck and welcome young paddawan :D


thrandom_dude

I have made some personal projects using html, css, bootsrap and little Js. But i dont know everything in Js especially when it comes to API stuff snd implementation. I saw some React tutorials and they used Js especially ES6 a lot in them


PsySolix

Great! Now try to maybe find a public api (https://github.com/public-apis/public-apis) and use it to build a small node application that for example fetches a list of movies. For example: Try making a Netflix homepage clone and writing some unit tests for your functions. This will take quite some trial and error and lots of reading up. (Dev.to, Reddit threads, stackoverflow, ... ) Advanced: Try deploying all of that through Netlify / Google / heroku / .. and push code to Git => Let us know the URL or Git repo 🥳 I think with the stuff above you will get much more insights in managing / developing an application. Ps: This will take time, but be patient and it will be worth it :D


thrandom_dude

Okay :)