I have some button tabs I created in React. When I click on one, it resets all the other tabs to display the default text.
function resetAllTabs() works fine as a classic for loop. But .map() or for...of {} simply doesn't reset my tabs. No error, just silence...
//// STATE MANAGER FOR TABS
import React, { useState } from 'react';
const [currentTab, setCurrentTab] = useState(null);
const [tab1, setTab1] = useState(<p>SET 1</p>);
const [tab2, setTab2] = useState(<p>SET 2</p>);
...
const [tab10, setTab10] = useState(<p>SET 10</p>);
let tabs = [[tab1, setTab1], [tab2, setTab2], [tab3, setTab3],
[tab4, setTab4], [tab5, setTab5], [tab6, setTab6],
[tab7, setTab7], [tab8, setTab8], [tab9, setTab9],
[tab10, setTab10]]
// WORKS JUST FINE!
function resetAllTabs() {
for (let i=0; i<tabs.length; i++) {
tabs[i][1](<p>SET {i + 1}</p>)
}
};
// DOESN'T WORK IN BROWSER. NO ERROR. JUST DOESN'T DO ANYTHING...
function resetAllTabs() {
tabs.map = ((setTab, i) => setTab[1](<p>SET {i + 1}</p>));
};
resetAllTabs();
SET {i + 1}
));` is *overriding* the `map` property with an arrow function. – VLAZ Feb 13 '20 at 22:06