Нет, это не помогает.
Я думаю, что лучше полностью избавиться от первой карты и делать все, что вы хотите во второй.но если вы считаете, что это необходимо для вашего приложения, вы можете использовать useMemo
ловушку.
Эта ловушка предоставляет вам запомненное значение, которое пересчитывается только при изменении некоторых параметров.
Например:
const items = useMemo(() => {
return data.values.map(...)
}, [data])
В этом примере элементы вычисляются только в случае изменения значения data .в противном случае он возвращает запомненную версию и ничего не пересчитывает.
Но как насчет useState
?он используется всякий раз, когда у нас есть какая-то переменная, которая всякий раз, когда она изменяется, мы хотим перерисовать наш компонент и показать некоторое новое содержимое.например, у нас есть счетчик, который всякий раз, когда его значение изменяется, мы хотим перерисовать компонент и показать новое значение.поэтому мы используем что-то вроде этого:
const Counter = (props) => {
const [value, setValue] = useState(0)
return (
<div>
<p>{value}</p>
<button onClick={() => setValue(value + 1)}>Increment</button>
<button onClick={() => setValue(value - 1)}>Decrement</button>
</div>
)
}
Таким образом, всякий раз, когда мы вызываем setValue, компонент повторно визуализируется, и новое значение будет показано пользователю.