Учитывая текущую структуру данных, если вы хотите установить для каждого экземпляра isPlaying
значение false, то то, что у вас есть, является правильным. В зависимости от вашего варианта использования, вот некоторые другие предложения:
Сброс по умолчанию
Допустим, что когда вы устанавливаете isPlaying
в false, игра заканчивается, и вы начинаете новую игру. Тогда проще всего было бы просто установить состояние на initialState
напрямую.
Изменить структуру данных
Это зависит от вашего варианта использования, но мой первый инстинкт заключается в том, что ваша структура данных имеет дублирование. Вы действительно можете играть в игру на английском и испанском языках одновременно? Если нет, попробуйте сделать что-то вроде этого:
const allLangs = {
es: {
fullName: "испанский",
заказ: 0,
}
}
Тогда в вашем состоянии вы указали бы на активный язык:
const state = {
isPlaying: false,
activeLanguage: "es"
}
Рефакторинг таким образом дает вам единственный источник истины.