Нет, нет. Извините, вы не можете. Вы приняли себя так, как нравятся нормальные люди, но почему вы пытаетесь сходить с ума?
Лучше сохранить данные localStorage с указанным состоянием:
state = {
storeData: {} // or, [], or whatever your stored data type
}
componentDidMount() {
const storeData = JSON.parse(localStorage.getItem('store-data'))
this.setState({
storeData
})
}
Некоторые люди могут предложить вам инициализировать данные localStorage непосредственно в конструкторе. Но я против, потому что я не люблю вызывать побочные эффекты для компонента.
PS: на самом деле нет никакого побочного эффекта при использовании данных localStorage
в конструкторе. Я только что предложил использовать componentDidMount
hook, потому что вам может потребоваться вызвать некоторый API, который будет вызывать загрузку данных localStorage
, и в этот раз у вас может возникнуть побочный эффект. Чтобы игнорировать это, используйте componentDidMount
hook, потому что это асинхронная функция, которая работает в фоновом режиме.