2016-08-11 58 views
0

我循環穿過田野,驗證他們,並要設置這個循環中的確認狀態,如果他們失敗了驗證:如何在React setState中使用方括號?

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

不過,我得到一個語法錯誤:

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

如何我可以使用這種「動態」鍵嗎?

回答

3

替換:

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

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