Javascript 使用对象分解语法设置以前初始化的变量的值

Javascript 使用对象分解语法设置以前初始化的变量的值,javascript,object-destructuring,Javascript,Object Destructuring,我的情况是,我有许多要设置的变量-但是,它们的值取决于另一个变量。这就是我的意思 变量{ 柱, 排, 表列扩展, 分类, 编辑机器人, 阿得德罗斯, 行变化, 当前页, 删除行, 页面大小, 页面大小, 专栏, }=this.props.apiurlsTable 如果this.props.tableType==依赖项{ 变量{ 柱, 排, 表列扩展, 分类, 编辑机器人, 阿得德罗斯, 行变化, 当前页, 删除行, 页面大小, 页面大小, 专栏, }=this.props.dependenci

我的情况是,我有许多要设置的变量-但是,它们的值取决于另一个变量。这就是我的意思

变量{ 柱, 排, 表列扩展, 分类, 编辑机器人, 阿得德罗斯, 行变化, 当前页, 删除行, 页面大小, 页面大小, 专栏, }=this.props.apiurlsTable 如果this.props.tableType==依赖项{ 变量{ 柱, 排, 表列扩展, 分类, 编辑机器人, 阿得德罗斯, 行变化, 当前页, 删除行, 页面大小, 页面大小, 专栏, }=this.props.dependenciesTable } 这样做:

var objectToDestructureFrom =
    this.props.tableType === "dependencies" ? this.props.dependenciesTable : this.props.apiurlsTable;

var {
    columns,
    rows,
    tableColumnExtensions,
    sorting,
    editingRowIds,
    addedRows,
    rowChanges,
    currentPage,
    deletingRows,
    pageSize,
    pageSizes,
    columnOrder,
} = objectToDestructureFrom

谢谢我会把它标记为正确,但是你会怎么做呢?你必须添加多个不同的表类型,例如this.props.funTable和this.props.notFunTable,你能把三元操作一直链接下去吗?是的,你可以把三元操作符一直链接下去,或者如果有其他方法的话,你可以直接使用。不过,更好的方法是使用两个props;一个保存数据,另一个保存数据类型。例如,props.tableData和props.tableDataType。因为props.tableData的形状在所有类型中都是相同的,所以您可以使用。在有条件地呈现时,可以使用props.tableDataType