Один из более хитрых способов - использовать функцию, связанную с желаемым this
. Здесь переименование является ключом, в данном случае он выбирает значение из props
и присваивает его тому, что мы переименовываем в
({ classes:this.classes,...this.rest } = props)
Так что это фактически то же самое, что и
this.classes = props.classes;
this.rest = all the properties expect those which are already destrucutred
Вы можете вставить свой код здесь и увидеть упрощенную версию Babel
const props = {
classes: 'some clases',
a: 'A',
b: 'B'
}
let tempThis = {}
console.log(tempThis)
let getMeValuesOnThis = function(props) {
({ classes:this.classes,...this.rest } = props)
}.bind(tempThis)
getMeValuesOnThis(props)
console.log('---values after function execution---')
console.log(tempThis)
ray
уже предложил способ сделать это, используя Object.assign
в комментариях