React set state property dynamically

2019-07-15 05:48发布

问题:

I'm using react and I have some methods to set the state of my COmponent separately. I have the following methods:

setLineColor(value){
  this.setState({stroke:value},()=>{
  this.props.data(this.getStyleData());
 });
}
setFillColor(value){
 this.setState({ fill:value},()=>{
 this.props.data(this.getStyleData());
 });
}
setMode(value){
 this.setState({ mode:value},()=>{
 this.props.data(this.getStyleData());
 });
}

How can I combine the methods, so that I can have something like:

setAttribute(propery,value){...}

?

回答1:

Like this

setAttribute(property, value) { 
  this.setState({ [property]: value }, () => {
    this.props.data(this.getStyleData());
  });
}

Example