2017-07-20 56 views
1

我是新的反應。反應未捕獲的語法錯誤:意外的代幣

我把一個調試器放在組件中的一個函數中。我做了

this.setState({this.state.ID: null});

,我回來一個SyntaxError

陣營未捕獲的SyntaxError:意外的標記

我在做什麼錯在這裏?

我想要做的是清除窗體上的窗體值。

Search = React.createClass({ 
    ResetForm: function() { 
    // I would like to clear all default values 
    this.setState({ 
     defaultValues: { 
     fields: this.state.fields 
     }, 
    ignoreDefault: false 
}); 
}, 

    render: function() { 
    return (
     <div className="card-body with-padding-bottom-0"> 
     <form id={this.formId}> 
      <div id="fields" className="usa-grid-full search"> 
      <Fields ref={(fields) => { this.fields = fields; }} ddl_id='search_card_type' options={ this.getProp('options')} fields={this.getProp('fields')} updateParentState={this.updateStateByField} defaultFieldValues={this.getProp('defaultValues')} ignoreDefault={this.state.ignoreDefault}></Fields> 
      </div> 

      <div className="usa-grid-full with-margin-top-10 validation-div"> 
      <div id="search_card_search_button_container" className="usa-width-one-whole"> 
       <input id="reset_form_button" type="button" name="search" value="Reset Form" onClick={this.ResetForm}/> 
      </div> 
      </div> 
     </form> 
     </div> 
    ); 
    } 

}); 
+0

爲什麼你有一個狀態的狀態?它應該只是this.setState({fields:this.state.fields});因爲您可以修改字段對象以包含多個鍵 - >值,所以defaultValues是多餘的。 – fungusanthrax

+0

當我做'this.setState({fields:this.state.fields});'我得到一個** ** undefined ** – MZaragoza

+0

它看起來不像你曾經定義的領域。我不熟悉ES6,但應該有一個類似於getInitialState的函數(return {fields:this.state.fields};); – fungusanthrax

回答

1

你的對象的左側必須是一個原始的,而不是表達:

this.setState({ID: null}); 
+0

感謝'this.setState({ID:null});'這給我'未定義',但不清除ID值 – MZaragoza

+0

你可以發佈你的其他代碼(在問題中)嗎? – Doug

+0

我剛更新了問題 – MZaragoza

相關問題