#javascript #reactjs #eslint #destructuring
#javascript #reactjs #eslint #разрушение
Вопрос:
У меня есть это:
componentWillReceiveProps(newProps) {
if (this.props.width !== newProps.width) {
setTimeout(this._onResize, 0);
}
}
И предупреждение eslint о том, что я могу изменить его на это:
componentWillReceiveProps({ width }) {
const { width2 } = this.props;
if (width2 !== width) {
setTimeout(this._onResize, 0);
}
}
Предупреждение исчезло, но это правильный способ сделать это, поскольку это больше кода??
Комментарии:
1. содержит ли props
width2
? если нет, тоwidth2
всегда будет неопределенным (два фрагмента кода не эквивалентны)2. @JaromandaX благодарит ваше право, Хм. Думаю, я должен изменить имена переменных выше, возможно
3. может быть, вы имели в виду
const { width: width2 } = this.props;
4. деструктурирование — это просто более простой способ присвоения значений, которые поступают из одного и того же объекта, я бы сказал, что это, вероятно, скорее вкус, рекомендации по кодированию и удобочитаемость. Аргументы разрушения также четко указывают любому потребителю, какие свойства на самом деле будут использоваться с точки зрения потребителя
5. меньше кода не обязательно означает лучше.