Reactjs 使用react,如何创建一个函数来设置以状态名称和值作为参数的状态?
我有一个简单的应用程序,可以跟踪许多不同的州 我意识到我可以创建一个类似于Reactjs 使用react,如何创建一个函数来设置以状态名称和值作为参数的状态?,reactjs,ecmascript-6,Reactjs,Ecmascript 6,我有一个简单的应用程序,可以跟踪许多不同的州 我意识到我可以创建一个类似于 changeSomething = (nameOfState) => { this.setState({nameOfState}); } 我将为this.state.nameOfState提供一个可重用的函数。在这种情况下,我需要为许多状态设置一个可重用的函数。这是b/c最初,我只有3个状态,所以我不在乎。现在我将有大约10个setstate函数,所以复制和粘贴10次是没有意义的。我应该能够
changeSomething = (nameOfState) => {
this.setState({nameOfState});
}
我将为this.state.nameOfState提供一个可重用的函数。在这种情况下,我需要为许多状态设置一个可重用的函数。这是b/c最初,我只有3个状态,所以我不在乎。现在我将有大约10个setstate函数,所以复制和粘贴10次是没有意义的。我应该能够创建一个可重用的函数,该函数将状态名称和值作为参数并进行设置。您可以使用方括号来设置它们 然后,在将函数绑定到事件时,只需定义prop名称。例如:
<SomeComponent onChange={this.changeSomething.bind(null, 'propName')} />
下面是一个JSFIDLE示例:您可以使用方括号来表示 然后,在将函数绑定到事件时,只需定义prop名称。例如:
<SomeComponent onChange={this.changeSomething.bind(null, 'propName')} />
下面是一个JSFIDLE示例:您可以这样做:
changeSomething=(stateName,value)=>{
this.setState({[stateName]:value});
}
您可以执行以下操作:
changeSomething=(stateName,value)=>{
this.setState({[stateName]:value});
}
将参数作为对象发送,状态名称作为值的键
例如:
将参数作为对象发送,状态名称作为值的键 例如:
changeSomething({ yourStateName: yourValue }) // function called with parameters as object
changeSomething = (stateValue) => {
this.setState ({ stateValue });
}