Skip to content

Latest commit

 

History

History
11 lines (7 loc) · 2.18 KB

File metadata and controls

11 lines (7 loc) · 2.18 KB

Job listings with filtering

This is a challenge from the frontendmentor.io

In this challenge, I have used Redux and React in this application, along with JavaScript, to filter out jobs based on selected categories. By incorporating Redux, I effectively managed the state of the application, while React facilitated the creation of reusable components and efficient rendering of the user interface. Additionally, I practiced working with JSON data by utilizing a local JSON file provided for this purpose.

In addition to Redux and React, I also utilized several npm packages to enhance the development process. I integrated packages such as prop-types, redux-logger, and redux-persist. The prop-types package allowed me to define and validate the props passed to my components, ensuring their correctness and improving the reliability of the application. The redux-logger package proved to be valuable for debugging and monitoring the Redux store, as it logged the state changes and actions to the console, providing useful insights during development.

Furthermore, I implemented redux-persist to enable persistent storage of the Redux store. This package helped in preserving the state across browser refreshes or even when the user revisited the application. With redux-persist, I could easily save and load the state from local storage or other storage engines, ensuring a seamless user experience and eliminating the need for users to reconfigure their preferences repeatedly.

Additionally, I extended my project by exploring Redux Toolkit, which offers a more streamlined and opinionated approach to working with Redux. I created a second version of the project using Redux Toolkit, taking advantage of its simplified syntax and powerful features such as the createSlice function for defining reducers and actions in a concise manner. This allowed me to reduce the amount of boilerplate code and focus more on the core logic of the application.

Overall, by incorporating these npm packages and exploring different approaches with Redux and React, I was able to enhance the functionality, maintainability, and user experience of the project.