Все пути возможны.Во-вторых, также, как вы используете создатель действий, чтобы сделать дополнительную работу.Например, создатели действий используются для извлечения данных, поэтому сохранение данных в localStore не является проблемой.
Я предлагаю использовать вариант 3. Он обеспечивает наилучшее разделение проблем.Код для хранения данных находится в одном месте и распространяется на несколько создателей действий.
К сожалению, вы не сможете установить время истечения для элементов localStore.Но так как localStore доступен только для вашего приложения, вы можете оставить элементы навсегда, но добавив дату и время хранения.А во время запуска приложения в следующий раз просто проверьте время и, если данные старше 20 минут, удалите их.Вы можете сделать эту проверку в функции config.merge
.