создать переменные до вызова функции, а в самой функции присваивать значения?
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 мало улучшат ситуацию.