Как использовать window.onload в React?
Используйте useEffect
hooks-effect
1. Нашёл ошибку в функции addItem: отправлять в localStorage здесь следует элемент item, а не массив, конечно.

2. Однозначно, здесь можно использовать мощный хук useEffect. Однако, поскольку вопрос касался именно window.onload, оставлю здесь решение. 
При перезагрузке страницы копировать массив items не нужно и бессмысленно. Необходимо объявить пустой массив const storageItems = [] 
и добавить в него всё, что есть в localStorage: for (let i = 0; i < localStorage.length; i++) { 
storageItems.push(JSON.parse(localStorage.getItem(localStorage.key(i)))); 
}и затем передать массив в state: 
setItems(items);