Предложение больше не по месту проверки, а по файловой структуре.
Можно завести файл вроде jwtTokenChecker.js, поместить туда функцию для проверки (чтобы не смешивать ее с другим файлом):
import jwt_decode from 'jwt-decode';
import store from './redux/store';
import { setCurrentUser, refresh } from './redux/actions/authActions';
export default () => {
if (localStorage.getItem('jwtToken')) {
const decoded_jwt = jwt_decode(localStorage.getItem('jwtToken'));
store.dispatch(setCurrentUser(decoded_jwt));
const current_time = Date.now() / 1000;
if (current_time > decoded_jwt.exp) {
store.dispatch(refresh())
}
}
}
Потом где-нибудь при ините, например, в index.js, когда стор уже готов, сделать так:
import checkJwtToken from './jwtTokenChecker';
checkJwtToken();
Что касается расположения, я бы поместил в index или в инит стора, потому что кажется, что без этих данных еще нет смысла рендерить приложение.