создать переменные до вызова функции, а в самой функции присваивать значения?
function takeInfo() {
let x = 0;
let y = 1;
let z = 2;
return { x, y, z }
}
document.querySelector('.but').onclick = function() {
let {x, y, z} = takeInfo();
console.log(x, y, z)
}
setState({ ...state, show: !state.show });.
setNewItemData у тебя получается новый массив items. Который ты пихаешь в setItem. При каждом вызове setItem, выполнится вся твоя функция, а значит и items.map, и заново отрендерится каждый из MyItem. Если хочешь что рисовался только MyItem, то модифицируй его внутренний стейт, а не стейт родителя.const Item = ({ item }) => {
const [item, setItem] = useState(itemProp);
const updateItem = useCallback(() => {
setItem((item) => ({
...item,
count: item.count + 1
}));
}, []);
return (
<div onClick={updateItem}>
{item.title} {item.count}
</div>
);
}; git reset --soft HEAD~2 # отменить два последних коммита
# с опцией --soft состояние проекта в рабочем каталоге не изменится и ничего не потеряешь
# и все локальные изменения после первого коммита автоматически поместятся в индекс
git commit # создать коммит заново.fetch() не ждет завершения всего запроса, он резолвится когда получены все заголовки.response.text() и response.json() нужен чтоб дождаться считывания всего тела ответа, притом response.json() еще и позволяет браузеру парсить json из ответа потоково прямо во время скачивания, опять же не блокируя поток js/ui. когда в нем часто перерисовывается DOM деревоне совсем: когда действительно прям весь DOM должен меняться часто-постоянно, фишки теневого DOM мало улучшат ситуацию.