Работа с массивом в local.storage, React.js

Столкнулся с такой ситуацией, пишу приложение на функциональном компоненте React.js, есть стейт, который считывается с local.storage, а если он пуст - заменяется на дефолтное значение, в моём случае это пустой массив. Мне нужно по клику на button из текстового input, который есть в моём приложении взять value и засетить его в этот стейт, добавив первым, а затем следующими элементами массива.

Пробовал сделать так

const useLocalStorageList = (key, defaultValue) => {
        const stored = localStorage.getItem(key);
        const initial = stored ? JSON.parse(stored) : defaultValue;
        const [value, setValue] = useState(initial);

        useEffect(() => {
            localStorage.setItem(key, JSON.stringify(value));
        }, [key, value]);

        return [value, setValue];
    };
const [state, setState] = useLocalStorageList('Load Range', [])

const myInput = document.getElementById('textInputId')
setState(state.push(myInput.value));

Но в панели разработчика, во вкладке Application, вижу, что у объекта Load Range, значение пустого массива заменяется числом 1, а при втором клике на button, React выдаёт ошибку

TypeError: state.push is not a function


Ответы (0 шт):