Creating variables for destructured objects in addition to their properties
You can destructure the state
to a variable as well:
const { state, state: { mode } } = { state: { mode: 'mode' } };
console.log(mode) // 'mode'
console.log(state) // { mode: 'mode' }
Sure, just use a comma as if you were destructing another property of the parent object:
const obj = { state: { mode: 'str' }};
const { state: { mode }, state } = obj;
console.log(mode);
console.log(state);
Note that this looks very similar to, but is not the same as the following import
syntax you may have seen:
import React, { Component } from 'react'
Here, the variables in brackets are named exports, while the plain variable is the default export, which is entirely different from nested objects.