Top 10+ Redux Interview Questions

Congratulations on being shortlisted for the interview! Now your focus should be on cracking your interview, we want to tell a bit about Redux and its scope. Redux works as an open-source JavaScript library that is used for managing the application state. It is written in JavaScript and it was created by Dan Abramov and Andrew Clark. Also, the scope of redux is increasing day by day as it makes the state changes in apps more predictable and hence results in the easy testing of the app. If you are looking for React Interview Questions then you can visit here.

Most Frequently Asked Redux Interview Questions

1. What are the core principles of Redux?

There are three core principles that Redux follows:

  • Single source of truth: The global state of your app is put away in an object tree inside a single store.

2. Do you need to keep all component states in the Redux store?

You do not need to push everything in the redux store as you have to keep your application state as small as possible. You should only do it if it makes a difference to you to keep something there or maybe helping you in making your life easier while using Dev Tools.

3. What is Redux DevTools? Also, explain the features of Redux DevTools?

It is a time travel environment that allows live editing for Redux with action replay, hot reloading, and customizable UI. For your ease, you can also use the extension of Redux DevTools in any of your browsers, Chrome, or firefox.

4. What is an action in Redux?

Actions are the plain JavaScript objects which contain a type field. Action can be considered as an event that can describe something that has happened in the application.

Always remember actions should contain a small amount of information that is needed to mention what has happened.

If you want to read more Interview questions related to Redux then you can visit here.

5. What is “store” in redux?

The Redux “store” carries together all the states, reducers, and actions that create the app. The store has multiple responsibilities:

  • It holds the state of the current application from inside

Store Methods

  • getState()


import { createStore } from 'redux'
const store = createStore(todos, ['Use Redux'])
store.dispatch(addTodo('Read the docs'))
store.dispatch(addTodo('Read about the middleware'))

6. How to add multiple middlewares to Redux?

For adding multiple middlewares to Redux, you can use applyMiddleware by which the developer can pass each piece of middleware as the new or another argument. As per your preferences, you just need to pass every single piece of middleware.

For instance, one can add the Redux Thunk and the logger middleware as the argument just as below:


import { createStore, applyMiddleware } from 'redux'
const createStoreWithMiddleware = applyMiddleware(ReduxThunk, logger)(createStore);

7. How to structure Redux top-level directories?

All the applications have multiple top-level directories as mentioned below:

  • Components: it is used for “dumb” React components that are unfamiliar with Redux.

8. What are the downsides of Redux compared to Flux?

Instead of downsides, there are few compromises of using Redux over Flux that is listed below:

  • You need to learn the avoiding of mutations: Flux is un-opinionated about mutating the data, however, Redux does not like mutations, and most of the packages which are complementary to Redux should never alter the state.

9. What are reducers in redux?

The reducers in redux are the pure functions that take the previous state and an action, and then it returns to the next state.
(previousState, action) => newState

It is known as the reducer because they are the type of function that would pass to Array.prototype.reduce(reducer, ?initialValue). It is very essential to ensure that the reducer stays pure.

To maintain this, there are few things that you should never do inside the reducer:

  • Modify its argument


const initialState = { value: 0 }function counterReducer(state = initialState, action) {
// Check to see if the reducer cares about this action
if (action.type === 'counter/incremented') {
// If so, make a copy of `state`
return {
// and update the copy with the new value
value: state.value + 1
// otherwise return the existing state unchanged
return state

10. What is the purpose of the constants in Redux?

When you use an IDE, the constants allow you to find all the usages of specific functionality across the project. It also prevents you from making silly mistakes which are usually caused by typos; in that case, you will receive a Reference Error immediately.

11. What is Redux Thunk?

Redux Thunk middleware is something that allows the developers to write the action creators that return functions, not actions. The redux-thunk can also be used for postponing the dispatch of action or to dispatch just if a specific condition is met. The inner function gets the “store” methods dispatch and getState() as the parameters.

Originally published at