#reactjs
#reactjs
Вопрос:
У меня есть простое сомнение в реакции. Когда я перехожу в react, в некоторых ресурсах люди передают весь объект как зависимость от массива, а в некоторых он будет передавать только требуемые.
Для примера у меня есть такой объект
const {id, name, number, date} = data
В некоторых ресурсах передаются только требуемые значения массива, но в некоторых других ресурсах они передают весь объект
useEffect(() => {
setState({userId: id, userName: name, userNumber: number})
}, [id, name, number])
Или
useEffect(() => {
setState({userId: id, userName: name, userNumber: number})
}, [data])
Какой правильный подход, второй способ намного чище, но поскольку свойство date не оказывает никакого влияния, должны ли мы следовать ему или использовать первый подход? Помимо этого, есть ли какие-либо проблемы с производительностью или какие-либо другие последствия для разных типов перехватов?
Комментарии:
1. Зависит от ситуации.
useEffect
не выполняет глубокого сравнения (следовательно, существуют такие вещи, как use-deep-compare-effect), которые могут иметь или не иметь значения.2. Что-то вроде этого @DaveNewton github.com/kentcdodds/use-deep-compare-effect это не так. Также, если это так, нужно ли мне использовать useEffect или тот, который вы упомянули для такого объекта? Я был смущен, так как это объект