Использовать React.memo для MyItem
export default const MyItem = React.memo(({ item, setNewItemData }) => {
....
});
в компоненте Test функцию setNewItemData обернуть в useCallback, чтобы она была постоянной. Для этого внутри неё использовать setItems с передачей в него функции, чтобы setNewItemData не зависело от items
let [items, setItems] = useState(myData);
const setNewItemData = useCallback((itemId, data) => {
setItems((items) => {
return items.map(item => {
if (item.id !== itemId) {
return item;
}
return {...item, data}
});
});
}, [setItems]);