2016-08-11 5 views
0

ich durch Felder bin Looping, sie validieren, und wollen einen Überprüfungszustand innerhalb dieser Schleife setzen, wenn sie die Validierung fehl:Wie verwende ich eckige Klammern in React setState?

Object.keys(validatedFields).map(field => { 
    if (validateExists(field.value) === false) { 
    this.setState({ validatedFields[field].message: 'error' }) 
    formIsValid = false 
    } 
}) 

Allerdings bekomme ich einen Syntaxfehler:

Unexpected token: 
this.setState({ validatedFields[field].message: 'error' }) 
          ^

Wie Kann ich einen solchen "dynamischen" Schlüssel verwenden?

Antwort

3

ersetzen:

this.setState({ this.state.validatedFields[field].message: 'error' }) 

mit

var state = {}; 
state[this.state.validatedFields[field].message] = 'error'; 
this.setState(state);