Ну мне так-то внутри функции на клике низзя ничего писать. Она из вне тип меняет данные.
я тоже не вижу смысла писать body блоком, если там только return. У вас в начальном варианте просто скобки пропущены: items.map((s, i) => ({ ..... })) - вот так должно работать, иначе джаваскрипт думает, что это тело функции, а не объект-результат