setTodos(prev => prev.map(todo => {
if (todo.id === id) {
console.log(12);
return { ...todo, completed: !todo.completed };
}
return todo;
}));
const ProductPage = () => {
const { product, contextFindItem, contextRemoveItem, contextPushItem } = useGlobalContext();
const like = useMemo(() =>
product ? contextFindItem('likes', product.personalKey) : null,
[contextFindItem, product]
);
const buy = useMemo(() =>
product ? contextFindItem('basket', product.personalKey) : null,
[contextFindItem, product]
);
if (product === null) {
return <Navigate to="/" />
}
return (
//jsx использует product
)
}
А что вы имете ввиду под подождать ?
const Films = ({value}) => {
if (!value) {
return <div>загружаются данные о фильмах, подождите....</div>
}
// тут обычное рисование списка фильмов и т.д.
.......
};
Я вот сейчас попытался отредактировать метод call в прототипе, отредактированный метод работает только если вызывать его по имени, а если просто вызовом функции, то уже нет... Что-то я не так делаю.
Так что забей.
В совсем тонких местах всё делается без перерендеров.