With over six years of dedicated experience in frontend development, I possess a proven track record in crafting dynamic digital experiences that consistently meet and exceed expectations. Currently honing my skills at Target, I excel in translating conceptual designs into robust code solutions, ensuring optimal performance and user satisfaction.
Frontend Engineer
TargetSenior Software Engineer
Systematix Infotech
React.js

Javascript

Typescript

Next.js
Node.js

Vue.js

Redux

PWA

GraphQL

HTML

CSS

MUI

AntD

Canvas

Three.js

Rest APIs

Storybook

Jest

React Testing Library

Express.js
.png)
Firebase

Typescript

Redux

HTML

Three.js

Storybook
My name is Mustafa. I've been working in Target for now, and I have experience of around more than 6 years. And, I work majorly in the front end, and my experiences lie in React.js, Next.js. I work with JavaScript and TypeScript, along with other tools, like Redux and all the frameworks that JavaScript and React have. I also have some experience in Node.js and MongoDB, though it is not that much. But, yes, I have experience in that. With that, I have experience in GraphQL as well, and Apollo client. Thank you.
This React Native developer, I haven't worked with. My experience lies in React JS, not React Native. So, I don't have an answer for this.
And so prop drilling, basically, is that if you have multiple components and those components are in a hierarchy. That means I have a parent component and a child component, and the child component has another child component within it. So if you want to pass a prop from the grandparent component to a grandchild component, then you'll have to pass it through every component. Right? So that becomes prop drilling, and that's a big issue because we have to add everything in each component and everywhere a prop is changed, the whole component, every component gets re-rendered. So that's what prop drilling is. It is not a best practice. To avoid that, we can use two methods. One is to create a context. So wrap those components in a context, and whatever we have in the parent component can be accessed inside the child component without drilling it. Another one is to create a centralized store like a Redux store using Redux, or DataSaga, and set using that store, we can centralize that data and access it everywhere without prop drilling it.
There is a function to calculate total amount. K. So we have function b a. Export center tab. Global will be k. And adding text on will be text. Alright. Fine. So, there are some issues in this function. We already have a row total. So, when adding tax per total, we can just use row total. And the calculation for the amount is not required. And another big issue I find is that there's a hard-coded only 3-person bill. And if there's only 2 people, you have to pass 3 as 0. If you have only 1 person, then you have to pass person 2 and person 3 as 0. So instead of that, what we can do is create an array of however many people there are. In that array, we can pass amounts of each person and pass that, and calculate inside the function with that array. With that, we will be able to accommodate n number of people with that amount. Right? And then the load total is 1 plus tax percent. Tax percent is 12%. Adding in tip will be tip amount. Then, in this function, our first parameter will be an array of amounts. Then second is text percent and tip. And then the tax which is getting added is 1 plus tax percent. That is into 30, which is not correct in this case. So the formula will be to a percentage, into 100 divided by 100. Sorry. Percent divided by 100 will be added. 1 plus tax percent is not right. This is my final answer.
Storage in React Native. Let's define when to use user, when to use note. Again, no experience in React Native. I thought this was a React question. But as in storage in React, I can share that we can use local storage, session storage, cache, and IndexedDB, and each serves its own purpose. And, we can use those to persist values inside the browser and not go to the server every time and get the data. Just check the browser and get the data. Thank you.