Тёмный

How I Write Clean Code in React 

Cosden Solutions
Подписаться 107 тыс.
Просмотров 31 тыс.
50% 1

Опубликовано:

 

5 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 72   
@dr_jacko
@dr_jacko 5 месяцев назад
This is a good start, but in general I would prefer to abstract fetch away a step further than hooks or components and you also need to handle loading and error states with your async calls. As an example, create a UserProfileRepository and UserProfileService classes which have functions for CRUD on UserProfiles. Use the singleton pattern on these classes and keep them in a context where it is required in the app.
@vladanisov1689
@vladanisov1689 4 месяца назад
definitely the best approach for this kind of scenario!
@johndevnoza4223
@johndevnoza4223 5 месяцев назад
as a begginer one, im doing this by habbit and i was scared if it was overkill or not. now i feel happy!
@sachityadav4141
@sachityadav4141 5 месяцев назад
This was Needed 😀 ThankYou, i was having anxiety seeing lots of styling classes in return of every component
@shoaib_akhtar_1729
@shoaib_akhtar_1729 2 месяца назад
Thanks for explaining the importance of achieving modularity in our code.
@hooooman.
@hooooman. 4 месяца назад
A beginner here, this approach definitely makes our code more clean. but my doubt is, say if we are building a little advanced/complex project, the same approach makes too many folders and files ?
@calmmind3160
@calmmind3160 Месяц назад
mate, i'm enjoying your react content, this is what i need to learn, keep making content
@roshanmaddumage9675
@roshanmaddumage9675 Месяц назад
I'm truly captivated by your content and watch it daily during my free time. Please continue to create great content. Regarding this video lesson, I have a question: How do you plan to organize the subcomponent or child component files when you break down a large page into smaller components?
@cosdensolutions
@cosdensolutions Месяц назад
Thank you for the kind words! You follow the single responsibility principle. Each component only does one thing until you've run out of things to do. So page component renders page and all features on page, then each feature gets its own component for the feature, and each one of those uses other components that make up the feature. There isn't really a strict rule as to how exactly, but rather it all depends on the features themselves and how logical it is to separate them. But generally following the SRP is a great way
@roshanmaddumage9675
@roshanmaddumage9675 Месяц назад
@@cosdensolutions Great! I had a small doubt and now it's cleared. Thank you for the reply. ☺
@2positive1
@2positive1 4 месяца назад
I would move static data array upper, from the App component. It’s static, no need to recreate it on every re-render.
@sontranvan5348
@sontranvan5348 5 месяцев назад
Simple, effective tips that are easy to learn and apply. Thank you for sharing your knowledge!!!!
@fanespratama
@fanespratama 5 месяцев назад
Take a note that when you use the custom hook with useEffect in more than one file, the useEffect will run more than once, so keep one custom hook for every layout/component (let say one for user list, one for user details). If not, just move the useEffect outside the custom hook
@mulengachitalima7695
@mulengachitalima7695 5 месяцев назад
Awesome video.. Really appreciate how you always adhere to SOLID principles in your videos
@ianfrye8988
@ianfrye8988 5 месяцев назад
Great video. Only question I have: why not move the useFetchProfile inside the ProfileData page instead of passing it as a prop?
@ExileEditing
@ExileEditing 5 месяцев назад
I struggle with choosing between fetching on the page and passing down or fetching in the components as well. I think it makes sense for both, but it is better if you separate concerns and fetch from the page. This way, your component only cares about rendering and doesn't deal with how it gets the data. It makes those components simpler as well and probably easier to test
@cosdensolutions
@cosdensolutions 5 месяцев назад
because ProfileData is only responsible for rendering, not fetching. Also, if you want to show profileData but with different filters or page sizes, adding that inside will be a mess. The way I did it, the parent decides that and just gives it to ProfileData to take over. It's simpler
@ianfrye8988
@ianfrye8988 5 месяцев назад
@@cosdensolutions Thanks for clarifying!
@sontranvan5348
@sontranvan5348 5 месяцев назад
​@@cosdensolutions but in case I need to use the data of filters or page sizes from ProfileData to refresh profiledata, should I use a callback to left it to ProfilePage or move fetching into ProfileData component?
@mashab9129
@mashab9129 4 месяца назад
why not having ProfileData component call the useFetchProfile ?
@QueeeeenZ
@QueeeeenZ 5 месяцев назад
I think you can use Nuxt and all the layout, structure will be already configured for you out of the box.
@edward-vonschondorf-dev
@edward-vonschondorf-dev 5 месяцев назад
Great video Cosden! It's definitely something I've been looking into lately cause I don't like long complex components that I have to edit/create. I was just curious about something though, i noticed in your imports you have an @ symbol at the beginning and was wondering how that was setup and if there is an advantage to it? Thanks!
@cosdensolutions
@cosdensolutions 5 месяцев назад
it's import aliases, the advantage is it makes things cleaner, and if you move things you don't have to always have everything be rewritten
@Makłowiczwpodróży-q6l
@Makłowiczwpodróży-q6l 5 месяцев назад
Perfect timing, just wanted to learn about those :D
@skymasseffect
@skymasseffect 20 дней назад
can you make a video on MVVM architecture with react ?
@viophile
@viophile 5 месяцев назад
What is your view on default exports? In my opinion they should only be used in libraries, not in any other code.
@mahendrasinh_9106
@mahendrasinh_9106 5 месяцев назад
if you export as a default then you can import it at any name // Exporting a component with export default const MyComponent = () => { // Component implementation }; export default MyComponent; import MyComponent from './MyComponent'; without export default // Exporting a component with named export export const MyComponent = () => { // Component implementation }; // Importing the component import { MyComponent } from './MyComponent'; you need to call with same name
@PaulSebastianM
@PaulSebastianM 5 месяцев назад
Default exports should be banned. They are not adhesive to strong typing and make tree shaking impossible especially when mixed with named export.
@gherardivictor
@gherardivictor 5 месяцев назад
Good quality and valuable content, thanks
@delightful209
@delightful209 5 месяцев назад
is it me or is the audio levels on this video really low. i have my headphones at 50 % and its quite low compared to other videos
@isaacjames8735
@isaacjames8735 4 месяца назад
Make a video about Social Login system in react please
@devquen37
@devquen37 3 месяца назад
PageLayout -> ProfilePage -> ProfileData -> Children Components (Avatar, PostList, etc)
@MohamedRabi
@MohamedRabi 5 месяцев назад
Thank you for the fantastic content!
@carloseduardomagalhaespere5112
@carloseduardomagalhaespere5112 5 месяцев назад
Thank you for another great video! I've been learning a lot here! One question: Why do you prefer to use type instead of interface in the props definition? 🤔
@meylis_so2
@meylis_so2 2 месяца назад
cosden how are u making sidebar in vscode and how u are controlling it please make tutorial
@cosdensolutions
@cosdensolutions 2 месяца назад
telekinesis
@FalioV
@FalioV 5 месяцев назад
Why would you use this Layout component on every page like this ? Just pass it to the index route and thats it. Overall I see this is "basic 101" and way far from Sr. react code. And I personally think this is not the best way to describe "custom hooks" as it should be. This profile code belongs to the Service layer. Don't get me wrong, I'm not here to argue, just have some questions over all. :)
@bruce_k3lly
@bruce_k3lly 5 месяцев назад
Thank you for this amazing video it's really helpful and it has increased my productivity, but can I use utils folder, as you said and just add reusable function for similar work ?
@harithsenevi4
@harithsenevi4 5 месяцев назад
Can't we just use the useFetchProfile hook inside the ProfileData component itself instead of passing profileData as props from ProfilePage component? Is it a bad practice? What complications could have with that approach?
@kalideb-y3y
@kalideb-y3y 5 месяцев назад
should I still separate the fetching hook if only one component uses it?
@kit3x663
@kit3x663 5 месяцев назад
I have one question. Why you didn't use React.FC or forwardRef in any of your videos. Is it usseles to use?
@64revolt
@64revolt 4 месяца назад
What do you think of atomic design and styled components? Only got to the page layout so far, but that seems like a perfect case for that, no?
@techaddictdude
@techaddictdude 5 месяцев назад
Shouldn't the PageLayout.tsx be located in the pages folder, while the 'Profile' file should be in the in components?
@SahilPatel-kh2rt
@SahilPatel-kh2rt 4 месяца назад
Hey, which vs code theme you are using.? Excited to use it for my self also.
@JericAdriano-yo9pv
@JericAdriano-yo9pv 5 месяцев назад
How about modals or dialogs that are used in one page? Do we handle them all in the parent component?
@lyrical6852
@lyrical6852 5 месяцев назад
Honest question, are you doing this in the real world app or in your work?
@tunde6159
@tunde6159 4 месяца назад
Such good tutorials.
@FiguringOutWhatIsLife
@FiguringOutWhatIsLife 5 месяцев назад
I mean isn't the children example you gave in the first one just what we do in App.jsx though?
@Divyv520
@Divyv520 5 месяцев назад
Hey Man , really nice video ! I was wondering if I could help you with Viral Content ideas in your niche , Script , editing , thumbnail , SEO , Growth and analysis , Leads and appointments for your business , etc in all to you ! Pls let me know what do you think ?
@sathirabandara7981
@sathirabandara7981 5 месяцев назад
great video. its very useful. 🤩
@programmerjowo
@programmerjowo 5 месяцев назад
How to handle authentication on the API
@SingleSeeker
@SingleSeeker 5 месяцев назад
in a real project , a loading , error is also needed.
@RoomCorner_
@RoomCorner_ 5 месяцев назад
Sir i'm interest of React Project but my english isn't very well. Is there subtitle like in RU-vid?
@cosdensolutions
@cosdensolutions 5 месяцев назад
yes there is!
@CyberSurgeon
@CyberSurgeon 5 месяцев назад
in your video description ,the project react lik is give me 500 web code .
@shakapaker
@shakapaker 5 месяцев назад
props with children makes children optional, for layout it needs to be required
@Edgars82
@Edgars82 5 месяцев назад
export const router = createBrowserRouter([ { path: '/', element: ( ), errorElement: , children: [ { index: true, element: , }, { path: 'search', element: (... this way all childrens will have layout and no need to import it as wrapper inside page components
@keklamo1485
@keklamo1485 5 месяцев назад
anyone know what allows him to do rjsfc and have the react component with function keyword? i just have rafc and its the arrow funciton i hate it
@cosdensolutions
@cosdensolutions 5 месяцев назад
check out my vscode setup video
@nicus1504
@nicus1504 5 месяцев назад
why would you use export default function instead of export const?
@keklamo1485
@keklamo1485 5 месяцев назад
@@nicus1504 i just like using function better its personal preference
@-mahmoudadel2628
@-mahmoudadel2628 5 месяцев назад
يمزاجك يا كوزدين
@NikulPipariya-hg5mb
@NikulPipariya-hg5mb 5 месяцев назад
Increase your voice please... Its so low.... Thanks for zooming screen
@tjdgmlchl6305
@tjdgmlchl6305 5 месяцев назад
nah I like it because he’s not yelling or doing a “youtuber voice”
@adeemmmm
@adeemmmm 5 месяцев назад
His volume level is good,try to check your speaker
@dr_jacko
@dr_jacko 5 месяцев назад
If only there was a way to increase the volume of a video??!?
@Pilosofia
@Pilosofia 5 месяцев назад
throw your speakers in the trash and get new ones.
@2positive1
@2positive1 4 месяца назад
Volume is good.
Далее
You Are Using useEffect Wrong
14:40
Просмотров 35 тыс.
The Most Important Design Pattern in React
35:04
Просмотров 63 тыс.
My 10 “Clean” Code Principles (Start These Now)
15:12
The Most Underrated State Management Tool in React
23:35
Modern Data Fetching in React (Complete Guide)
16:41
Просмотров 51 тыс.
Cleaner Code: 3 Ways You Can Write Cleaner Code
7:41
I Wish I knew This About Typescript & React Sooner
14:06
React Hook Form - Complete Tutorial (with Zod)
28:22
Просмотров 119 тыс.
I Remade YouTube From Scratch Using Just Bash
17:51
Просмотров 26 тыс.