0

I am getting eslint(no-unused-vars) exception while developing React/Redux application with Typescript. Even though the imported variable has been used in the function below.

actions.ts

import { User, FETCH_USERS, FETCH_USERS_SUCCESS } from './types';

export function fetchUsers() {
  return {
    type: FETCH_USERS,
  };
}

export function fetchUsersSuccess(users: User[]) {
  return {
    type: FETCH_USERS_SUCCESS,
    payload: users,
  };
}

types.ts

export const FETCH_USERS = 'FETCH_USERS';
export const FETCH_USERS_SUCCESS = 'FETCH_USERS_SUCCESS';

export interface User {
    id: number;
    email: string;
    firstName: string;
    lastName: string;
    avatar: string
}

export interface Users {
    users: User[];
    isLoading: boolean
}

interface fetchUsers {
    type: typeof FETCH_USERS;
}

interface fetchUsersSuccess {
    type: typeof FETCH_USERS_SUCCESS;
    payload: User[]
}

export type userActionTypes = fetchUsers | fetchUsersSuccess;

reducers.ts

import {
  Users, FETCH_USERS, FETCH_USERS_SUCCESS, userActionTypes,
} from './types';

const initialState: Users = {
  users: [],
  isLoading: true,
};

export default function usersReducer(
  state = initialState,
  action: userActionTypes,
): Users {
  switch (action.type) {
    case FETCH_USERS:
      return {
        ...state,
        isLoading: true,
      };
    case FETCH_USERS_SUCCESS:
      return {
        users: [...state.users, ...action.payload],
        isLoading: false,
      };
    default:
      return state;
  }
}

Getting below exception in actions.ts

'User' is defined but never used.

User is imported

User being used

Shantanu Tomar
  • 1,572
  • 7
  • 38
  • 64
  • 1
    Take a look at https://stackoverflow.com/questions/57802057/eslint-configuring-no-unused-vars-for-typescript – Ehsan Mar 21 '20 at 09:43
  • Does this answer your question? [esLint - Configuring "no-unused-vars" for Typescript](https://stackoverflow.com/questions/57802057/eslint-configuring-no-unused-vars-for-typescript) – CertainPerformance Mar 22 '20 at 03:44

0 Answers0