Redux-Thunk
one minute of reading
Redux-Thunk is a library that allows you to perform asynchronous operations in a Redux-based application. It is one of the most popular Redux extensions that allows you to easily and clearly manage the state of your application.
Redux-Thunk is an add-on to the Redux library. Hosted as a separate package in NPM, it can be downloaded and set up as middleware when initializing Redux without complex configuration. It allows you to achieve asynchronous querying. Middleware in redux allows you to intercept a query and instead of making a single change on the stor it can make a series of queries, in the meantime they can query the API for external data. The whole thing is possible, obtainable without Redux-Thunk, but this one makes it much easier.
An example query in Redux-Thunk
The simplest example of using Redux-Thunk would be to query the API to log in a user. For the query to run correctly, a couple of things need to happen.
- Setting the application state that the login has started.
- Sending the query to the API
- Setting the user data in the store
- Possibly returning an error
export const authLogin = (email, password) => {
return dispatch => {
dispatch(authStart());
axios
.post(`${API_URL}/auth/api/v1/login/`, {
email: email,
password: password
})
.then(res => {
const token = res.data.token;
const user = res.data.user;
dispatch(authSuccess(token, user));
})
.catch(err => {
dispatch(authFail(err));
});
};
};
With this approach, we can isolate some of the logic of our application to a single function. We can use data mocking from the API and fully test the performance of such a Thunk.
Alternatives to Redux-thunk
An alternative to Redux-thunk is the Context API, which is built directly into the React library. We can easily create asynchronous queries there. We will only see a practical difference when the Context API supports a sizable object where we will frequently update parameters. We may find that the Context API is then less efficient and runs DOM updates too often.
Although Redux is a separate library it has rich documentation with well-described examples. Examples for Redux-Thunk are also numerous and it is definitely a productive solution for maintaining application state.
Our offer
Web development
Find out moreMobile development
Find out moreE-commerce
Find out moreUX/UI Design
Find out moreOutsourcing
Find out moreRelated articles
The Best CMS Platforms to Build and Manage A Blog
26 Mar 2024
In the world of blogging, content management systems (CMS) are critical. The right CMS can help amplify your voice, reach a broader audience, and ease website maintenance. In this article, we'll take you through the superior CMS platforms you need to build and manage a compelling blog.
An Overview of E-commerce Platforms: Which is the Best Fit for Your Business?
23 Mar 2024
E-commerce is a transformative sphere of business, especially in the digital age. This surges the importance of choosing the right e-commerce platform for your business. It's a critical decision that decides the success in the online market. This article aims to throw light on different e-commerce platforms, their strengths, weaknesses helping businesses to choose the most suitable one.
Intelligent Assistance: The Future of Human-Computer Interaction
21 Mar 2024
In the age of rapid digital transformation, Intelligent Assistance is charting a new course for human-computer interaction. From voice commands, predictive analytics to personalized recommendations, it's an emerging paradigm that's transforming our interaction with digital devices, making technology more intuitive and user-friendly. Through this exploration, we'll dive deep into its evolution and potential.
VSEO: How to Optimize Your Videos for Search Engines
21 Mar 2024
As content consumption braves new frontiers, Video Search Engine Optimization (VSEO) emerges as an essential realm for marketers and SEO specialists alike. Our comprehensive guide aims to illuminate the intricate process of optimizing video content for search engines, catering to both novices and seasoned experts.
The Role of AI and Machine Learning in Enhancing Mobile App Experiences
19 Mar 2024
In this era of unprecedented digital growth, app developers continuously strive to improve the user experience. A game-changer in this context is the ingenious integration of AI and Machine Learning. This article explores how AI and ML are revolutionizing the Mobile App User Experience and transforming interactions like never before.
Infinite Scroll vs Pagination: Which One Wins in Website Design?
19 Mar 2024
Infinite Scroll and Pagination are time-tested strategies for handling large volumes of data on websites. While infinite scroll allows continuous data feed, pagination breaks it up into separate pages. Each has its own strengths and trade-offs. In this article, we delve into these two strategies, compare their merits and limitations, and attempt to crown a champion in the context of website design.
Key elements of a successful mobile app: What is it that keeps users coming back?
18 Mar 2024
In the fast-paced digital age, user engagement proves paramount for app sustainability. This piece delves into the crucial elements of crafting engaging mobile applications, unveiling the secrets behind enduring success in this highly competitive sphere. We explore interface design, user experience, performance optimization and more.
Show all articles