gpt4 book ai didi

javascript - JavaScript 函数参数中对象的部分解构

转载 作者:行者123 更新时间:2023-11-29 18:39:08 29 4
gpt4 key购买 nike

有没有办法只解构函数参数中的一些对象属性,而其余部分仍可在对象中访问?

考虑以下 react 示例。 (我以 React 为例,但这个问题一般适用于 JS)

const Form = (formProps) => {
return (
...
<FormSectionComponent
initialValues={...}
values={...}
{...formProps}
/>
...
)
}

const FormSectionComponent = ({ initialValues, values}) => {
...
}

传入的 props 在函数参数中被解构,但是,还有其他的 props 进来,我可能想在某些情况下访问它们,而我不想或不能解构它们 - 例如我不知道它们是什么并想记录它们。

有没有办法不解构参数部分中的其他 Prop 并将它们作为 props 对象访问?

我能想到的唯一解决方法是:

const FormSectionComponent = (props) => {
const { initialValues, values} = props;
}

但我想知道是否有其他解决方案。

最佳答案

你可以做类似的事情

const FormSectionComponent = ({ initialValues, values, ...props}) => {
...
}

本质上将 props 绑定(bind)到传递给函数的参数的其余属性。

const f = ({a, b, ...rest}) => rest
console.log(f({a: 1, b: 2, c: 3, d: 4})) // { c: 3, d: 4}

关于javascript - JavaScript 函数参数中对象的部分解构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58519978/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com