2017-07-20 41 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

相关问题