Ответ на ваш вопрос, если вы должны сохранить начальное значение: «Да».
Это был бы самый простой способ поддерживать ваш код. Поэтому поместите свое начальное значение в константу:
const INITIAL_VALUES = {
id: '',
title: '',
description: '',
authoredBy: '',
createdDate: '',
lastUpdatedBy: '',
lastUpdateDate: '',
sliderResponses: [],
tileResponses: [{}],
template: {}
}
Чем каждый раз, когда вы хотите использовать этот исходный объект, просто распространяйте его, и все будет хорошо (распространите, чтобы потерять ссылку на константу):
const [basePosition, setBasePosition] = useState({});
const [position, setPosition] = useState({...INITIAL_VALUES});
И позже при сбросе:
setPosition({...INITIAL_VALUES})