Если моя бизнес-логика - это перебор массива, то это таки что
Короч, декларативность - это когда программа представлена в виде набора действий, которые необходимо применить к входным данным для получения требуемого результата. В случае с реактом - в виде функции, трансформирующей состояние стора в определенный html.
Императивность - это когда ты пытаешься реализовать в коде какие-то абстрактные объекты и описать их взаимодействие (а-ля эмулировать поведение вещей в "реальном мире").
Когда ты пишешь цикл, твои объекты - это числа, и ты описываешь то, как они влияют на какой-то "внешний мир", находящийся за его пределами. Используя map/reduce - ты оперируешь только входными и выходными параметрами. функций, больше ничего для тебя не существует