Я использую контекстные API и ловушки, есть 20 переменных состояния, в каждом изменении (настройке состояний) функция вызывает снова или повторно, так что я беспокоюсь о вызове функций ловушек.
Пример, если яиспользовать useState, useReducer, useMemo, useCallback
они вызываются снова при любом повторном рендеринге?
function GroupProvider(props) {
const socket = useMemo(()=> io(url), [socket]);
const [grouplist, setGrouplist] = useState([]);
const [refreshid, setRefreshid] = useState('');
const [messages, setMessages] = useState({});
const [ppl, setPpl] = useState(people);
const [groupname, setGroupname] = useState(name);
const [groupimg, setGroupimg] = useState(img);
const [groupnamesaving, setGroupnamesaving] = useState(false);
const [groupimgsaving, setGroupimgsaving] = useState(false);
const [editgroupname, setEditgroupname] = useState(false);
const [addingmember, setAddingmember] = useState(false);
const [modalVisible, setModalVisible] = useState(false);
const [leavinggroup, setLeavinggroup] = useState(false);
const [changeAdminModal, setChangeAdminModal] = useState(false);
const [changingAdmin, setChangingAdmin] = useState(false);
const [loadingModal, setLoadingModal] = useState(false);
}
Здесь, если при каждом повторном рендеринге перехватывает вызовы функций, это может повлиять на производительность.