Недавно я начал пытаться изучать хуки React, но я не могу понять некоторые вещи, такие как управление несколькими состояниями, я нашел несколько примеров, но, похоже, ничего находиться в определенной схеме. Я даже не уверен, как вы должны определять свои состояния, если их больше двух, и вы хотите изменить их по отдельности, если это будет так:
const [slides, setSlides] = useState([])
const [currentSlide, setCurrentSlide] = useState(0)
const [tagName, setTagName] = useState([])
Или вот так:
const [states, setStates] = useState({
slides: [],
currentSlide: 0,
tagName: []
})
И если обе или вторая жизнеспособны (честно говоря, я бы предпочел вторую, так как она менее повторяющаяся при вызове useState и ближе к стандартной мета-состоянию), как можно изменить состояния в таком примере? Я ничего не мог найти по этому поводу, поэтому я попробовал следующее:
useEffect(() => {
Object.entries(Slides).forEach(slide => {
setStates(prevState => ({ slides: [...prevState.slides, slide[1]] }))
})
}, [])
И я возился с ним кучу, пытаясь получить приличные результаты, но я не мог заставить его работать должным образом.
Любые идеи о том, что я делаю неправильно? И по какому из этих методов передовой опыт?
Спасибо!
const [states, setStates]
, есть ли способ обновить толькоslides
или толькоcurrentSlide
или толькоtagName
по отдельности, ничего не меняя? Точно так же, как метаданные обычного состояния, где вы копируете все внутри состояния, а затем добавляете значения к одному из свойств (в данном случае это, например, слайды). - person Nick09   schedule 03.05.2019