Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中动态传递值并用作对象属性_Javascript_Reactjs - Fatal编程技术网

在Javascript中动态传递值并用作对象属性

在Javascript中动态传递值并用作对象属性,javascript,reactjs,Javascript,Reactjs,有没有一种方法可以将参数值传递到函数中,并将其用作对象的属性 const state = { name: 'xyz', properties: 'abc' } ... const handleStuff = (properties:string) => { const a = [...state.properties] if (action.status == true) { //some code

有没有一种方法可以将参数值传递到函数中,并将其用作对象的属性

const state = {
  name: 'xyz',
  properties: 'abc'
}
...
const handleStuff = (properties:string) => {
        const a = [...state.properties]
        if (action.status == true)
        {
            //some code
            return {
                ...state,
                properties: a
            }
        } else {
            //some code
            return {
                ...state,
                properties: a
            }
        }
    }

现在还不清楚您试图达到什么结果,但通常您可以通过[]操作符访问您的属性。 如果只想将state.name值存储到变量中,则应执行以下操作

const a = state[properties] // a will be 'xyz'
以下代码将被评估为对字符串“xyz”执行的排列操作

const a = [...state[properties]] // a will be equal to ['x', 'y', 'z']
在return语句中,您希望在其中组合对象,如果您希望为具有名称属性(例如“名称”)的属性赋值,您可以


properties
的类型是什么,它是数组吗?我想您正在寻找计算名称:
{[properties]:a}
,但是
properties
必须是(或转换为)字符串,并且它将是一个属性,不管它的名称如何。最好提供一个输入示例和预期结果。我希望“属性”是字符串,然后介绍如何将该值处理为与状态属性相同的值。例如,如果参数为“name”,我希望能够使用“state.name”访问状态属性。我已经编辑了代码,希望它能澄清我的意思。谢谢!这正是我要找的。
return {
  ...state,
  [properties]: a // name value from the state will be overridden with value of variable a
};